fork download
  1. <?php
  2.  
  3.  
  4. $regExp = '/^(\+\s?7|8)([()\s-]*[0-9]){10}$/ui';
  5.  
  6. $number = array ('84951234567', '+74951234567', '84951-234-567',
  7. '8 (8122) 56-56-56', '8-911-1234567', '8 (911) 12 345 67',
  8. '8-911 12 345 67', '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567',
  9. '8 ( 999 ) 1234567', '8 999 123 4567', '02', '84951234567 позвать люсю', '849512345', '849512345678',
  10. '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
  11. '84951a234567', '8495123456a',
  12. '+1 234 5678901',
  13. '+8 234 5678901',
  14. '7 234 5678901');
  15.  
  16. $result = array ();
  17.  
  18. foreach ($number as $matches) {
  19. if (preg_match($regExp, $matches, $result)) {
  20. echo "Номер введён верно\n";
  21. } else {
  22. echo "Номер введён неверно, повторите попытку\n";
  23. var_dump ($matches);
  24. };
  25. }
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён верно
Номер введён неверно, повторите попытку
string(2) "02"
Номер введён неверно, повторите попытку
string(35) "84951234567 позвать люсю"
Номер введён неверно, повторите попытку
string(9) "849512345"
Номер введён неверно, повторите попытку
string(12) "849512345678"
Номер введён неверно, повторите попытку
string(19) "8 (409) 123-123-123"
Номер введён неверно, повторите попытку
string(10) "7900123467"
Номер введён неверно, повторите попытку
string(10) "5005005001"
Номер введён неверно, повторите попытку
string(12) "8888-8888-88"
Номер введён неверно, повторите попытку
string(12) "84951a234567"
Номер введён неверно, повторите попытку
string(11) "8495123456a"
Номер введён неверно, повторите попытку
string(14) "+1 234 5678901"
Номер введён неверно, повторите попытку
string(14) "+8 234 5678901"
Номер введён неверно, повторите попытку
string(13) "7 234 5678901"