fork(1) download
  1. <?php
  2.  
  3. $regexp = "/^\s?(8|[+]\s?7)(\s?-?\s?[(]?\s?\d\s?[)]?\s?-?\s?){10}$/";
  4.  
  5. $numbers = ["8-911-123-22-22", "89111232241", "+7-333-123-44-22",
  6. "+7-444-222-4444", "8(444)234-2222", "8-(123)-999-12-23",
  7. "+7(222)-2334444", "8-123-123-213-4", "8-911-44-888-21",
  8. "8 911 444 33 33", "8 (911) 555 44 44", "8 - 888 - 899 - 44 - 33",
  9. '84951234567', '+74951234567', '8-495-1-234-567',
  10. ' 8 (8122) 56-56-56', '8-911-1234567', '8 (911) 12 345 67',
  11. '8-911 12 345 67', '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567',
  12. '8 ( 999 ) 1234567', '8 999 123 4567', "9-123-123-213-4",
  13. "666-666-666-11", "913-555-2244", "8-911-33-44-66",'02',
  14. '84951234567 позвать люсю', '849512345', '849512345678',
  15. '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
  16. '84951a234567', '8495123456a', '+1 234 5678901', '+8 234 5678901',
  17. '7 234 5678901', "333-333-333"
  18. ];
  19.  
  20. shuffle($numbers);
  21.  
  22. function adducing($number) {
  23.  
  24. echo "Приводим номер $number в нормальный вид\n";
  25.  
  26.  
  27. $adduced = preg_replace('/^+\s?7/', '8', $number);
  28.  
  29. echo "Номер в нормальном виде - $adduced\n";
  30. }
  31.  
  32. echo "Проверяем телефонные номера:\n";
  33. foreach ($numbers as $phone) {
  34. if (preg_match($regexp, $phone)) {
  35. echo "$phone - правильный номер\n";
  36. adducing ($phone);
  37.  
  38. } else {
  39. echo "$phone - неправильный номер\n";
  40. }
  41. }
Success #stdin #stdout #stderr 0.01s 20520KB
stdin
Standard input is empty
stdout
Проверяем телефонные номера:
8-911-1234567 - правильный номер
Приводим номер 8-911-1234567 в нормальный вид
Номер в нормальном виде - 
+ 7 999 123 4567 - правильный номер
Приводим номер + 7 999 123 4567 в нормальный вид
Номер в нормальном виде - 
7 234 5678901 - неправильный номер
8 ( 999 ) 1234567 - правильный номер
Приводим номер 8 ( 999 ) 1234567 в нормальный вид
Номер в нормальном виде - 
8(444)234-2222 - правильный номер
Приводим номер 8(444)234-2222 в нормальный вид
Номер в нормальном виде - 
8 (409) 123-123-123 - неправильный номер
+74951234567 - правильный номер
Приводим номер +74951234567 в нормальный вид
Номер в нормальном виде - 
84951a234567 - неправильный номер
8-123-123-213-4 - правильный номер
Приводим номер 8-123-123-213-4 в нормальный вид
Номер в нормальном виде - 
+8 234 5678901 - неправильный номер
8 (911) 12 345 67 - правильный номер
Приводим номер 8 (911) 12 345 67 в нормальный вид
Номер в нормальном виде - 
913-555-2244 - неправильный номер
+1 234 5678901 - неправильный номер
8-911-44-888-21 - правильный номер
Приводим номер 8-911-44-888-21 в нормальный вид
Номер в нормальном виде - 
849512345678 - неправильный номер
 8 (8122) 56-56-56 - правильный номер
Приводим номер  8 (8122) 56-56-56 в нормальный вид
Номер в нормальном виде - 
8-911-33-44-66 - неправильный номер
849512345 - неправильный номер
9-123-123-213-4 - неправильный номер
7900123467 - неправильный номер
8 911 444 33 33 - правильный номер
Приводим номер 8 911 444 33 33 в нормальный вид
Номер в нормальном виде - 
8495123456a - неправильный номер
+7-333-123-44-22 - правильный номер
Приводим номер +7-333-123-44-22 в нормальный вид
Номер в нормальном виде - 
5005005001 - неправильный номер
8-495-1-234-567 - правильный номер
Приводим номер 8-495-1-234-567 в нормальный вид
Номер в нормальном виде - 
8 (911) 555 44 44 - правильный номер
Приводим номер 8 (911) 555 44 44 в нормальный вид
Номер в нормальном виде - 
8888-8888-88 - неправильный номер
84951234567 позвать люсю - неправильный номер
8 (911) - 123 - 45 - 67 - правильный номер
Приводим номер 8 (911) - 123 - 45 - 67 в нормальный вид
Номер в нормальном виде - 
8 - 888 - 899 - 44 - 33 - правильный номер
Приводим номер 8 - 888 - 899 - 44 - 33 в нормальный вид
Номер в нормальном виде - 
666-666-666-11 - неправильный номер
+7(222)-2334444 - правильный номер
Приводим номер +7(222)-2334444 в нормальный вид
Номер в нормальном виде - 
8-911 12 345 67 - правильный номер
Приводим номер 8-911 12 345 67 в нормальный вид
Номер в нормальном виде - 
84951234567 - правильный номер
Приводим номер 84951234567 в нормальный вид
Номер в нормальном виде - 
89111232241 - правильный номер
Приводим номер 89111232241 в нормальный вид
Номер в нормальном виде - 
8-(123)-999-12-23 - правильный номер
Приводим номер 8-(123)-999-12-23 в нормальный вид
Номер в нормальном виде - 
+7-444-222-4444 - правильный номер
Приводим номер +7-444-222-4444 в нормальный вид
Номер в нормальном виде - 
8 999 123 4567 - правильный номер
Приводим номер 8 999 123 4567 в нормальный вид
Номер в нормальном виде - 
02 - неправильный номер
8-911-123-22-22 - правильный номер
Приводим номер 8-911-123-22-22 в нормальный вид
Номер в нормальном виде - 
333-333-333 - неправильный номер
stderr
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 1 in /home/N18FvV/prog.php on line 28