fork download
  1. <?php
  2.  
  3. function checkNumber($number) {
  4. $regexp = '/^ ?(8|\\+ ?7)([()-\\s]*\\d){10}$/';
  5. if (preg_match($regexp, $number)) {
  6. echo "Номер корректный\n";
  7. } else {
  8. echo "Неверный формат ввода\n";
  9. }
  10. }
  11.  
  12. $correct = array('84951234567', '+74951234567', '8-495-1-234-567', ' 8 (8122) 56-56-56', '8-911-1234567', '8 (911) 12 345 67', '8-911 12 345 67', '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567', '8 ( 999 ) 1234567', '8 999 123 4567');
  13.  
  14. $incorrect = array('02', '84951234567 позвать люсю', '849512345', '849512345678',
  15. '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
  16. '84951a234567', '8495123456a',
  17. '+1 234 5678901', // неверный код страны
  18. '+8 234 5678901', // либо 8 либо +7
  19. '7 234 5678901' // нет +
  20. );
  21.  
  22. foreach ($correct as $number) {
  23. checkNumber($number);
  24. }
  25. echo "-------\n";
  26. foreach ($incorrect as $number) {
  27. checkNumber($number);
  28. }
  29. ?>
Success #stdin #stdout 0.02s 20568KB
stdin
Standard input is empty
stdout
Номер корректный
Номер корректный
Номер корректный
Номер корректный
Номер корректный
Номер корректный
Номер корректный
Номер корректный
Номер корректный
Номер корректный
Номер корректный
-------
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода
Неверный формат ввода