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