fork(1) download
  1. <?php
  2.  
  3.  
  4. $regExp = '/[(+7)|8][\\(\\)\\s-]*[0-9]{10}/';
  5.  
  6. $number = array ('84951234567', '+74951234567', '8-495-1-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.02s 52472KB
stdin
Standard input is empty
stdout
Номер введён верно
Номер введён верно
Номер введён неверно, повторите попытку
string(15) "8-495-1-234-567"
Номер введён неверно, повторите попытку
string(17) "8 (8122) 56-56-56"
Номер введён неверно, повторите попытку
string(13) "8-911-1234567"
Номер введён неверно, повторите попытку
string(17) "8 (911) 12 345 67"
Номер введён неверно, повторите попытку
string(15) "8-911 12 345 67"
Номер введён неверно, повторите попытку
string(23) "8 (911) - 123 - 45 - 67"
Номер введён неверно, повторите попытку
string(16) "+ 7 999 123 4567"
Номер введён неверно, повторите попытку
string(17) "8 ( 999 ) 1234567"
Номер введён неверно, повторите попытку
string(14) "8 999 123 4567"
Номер введён неверно, повторите попытку
string(2) "02"
Номер введён верно
Номер введён неверно, повторите попытку
string(9) "849512345"
Номер введён верно
Номер введён неверно, повторите попытку
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"