fork download
  1. <?php
  2. header("Content-Type: text/plain; charset=utf-8");
  3. function phoneNumberCheck($mobileNumber)
  4. {
  5. $result='';
  6. $regexp = '/^( ?8|^\+ ?7)([-() ]*\d){10}$/';
  7. $match = [];
  8. if (preg_match($regexp, $mobileNumber, $match)) {
  9. $result="+ Номер верный '{$match[0]}'\n";
  10. } else {
  11. $result="- Ничего не найдено\n";
  12. }
  13. return $result;
  14. }
  15.  
  16. $correctNumbers = [
  17. '84951234567',
  18. '+74951234567',
  19. '8-495-1-234-567',
  20. '8(911)1234567',
  21. '8 (911) 1234567',
  22. ' 8 (8122) 56-56-56',
  23. '8-911-1234567',
  24. '8 (911) 12 345 67',
  25. '8-911 12 345 67',
  26. '8 (911) - 123 - 45 - 67',
  27. '+ 7 999 123 4567',
  28. '8 ( 999 ) 1234567',
  29. '8 999 123 4567'
  30. ];
  31.  
  32. $incorrectNumbers = ['02', '84951234567 позвать люсю', '849512345', '849512345678',
  33. '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
  34. '84951a234567', '8495123456a', '8((((((((((', '8495кря4567', '84а97а75п67',
  35. '849512s45678',
  36. '+1 234 5678901',
  37. '+8 234 5678901',
  38. '7 234 5678901'];
  39.  
  40. echo "-------------------------------------------\n";
  41.  
  42.  
  43. $arCount = count($correctNumbers);
  44. for ($i = 0; $i < $arCount; $i++) {
  45. echo " " . phoneNumberCheck($correctNumbers[$i]) . "\n";
  46. }
  47.  
  48. $inarcount = count($incorrectNumbers);
  49. echo "-------------------------------------------\n";
  50. for ($i = 0; $i < $inarcount; $i++) {
  51. echo " " . phoneNumberCheck($incorrectNumbers[$i]) . "\n";
  52. }
Success #stdin #stdout 0s 52488KB
stdin
Standard input is empty
stdout
-------------------------------------------
 + Номер верный '84951234567'

 + Номер верный '+74951234567'

 + Номер верный '8-495-1-234-567'

 + Номер верный '8(911)1234567'

 + Номер верный '8 (911) 1234567'

 + Номер верный ' 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'

-------------------------------------------
 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено

 - Ничего не найдено