fork download
  1. <?php
  2.  
  3. $regexp = '/^(\\s*([+]\\s*7|8))(\\W*\\d){10}$/';
  4. $regSymbolClean = '/\\W/';
  5. $regCodeClean = '/^(7)/';
  6.  
  7. $correctNumbers = [
  8. '02', '84951234567 позвать люсю', '849512345', '849512345678',
  9. '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
  10. '84951a234567', '8495123456a', '+1 234 5678901', '+8 234 5678901', '7 234 5678901',
  11. '84951234567', '+74951234567', '8-495-1-234-567', ' 8 (8122) 56-56-56',
  12. '8-911-1234567', '8 (911) 12 345 67', '8-911 12 345 67',
  13. '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567',
  14. '8 ( 999 ) 1234567', '8 999 123 4567'
  15. ];
  16.  
  17. $match = [];
  18.  
  19. foreach ($correctNumbers as $key) {
  20. if (preg_match($regexp, $key, $match)) {
  21. $сleanNumber = preg_replace ($regSymbolClean, "", $match[0]);
  22. $standNumber = preg_replace ($regCodeClean, "8", $сleanNumber);
  23. echo "Стандартный номер {$standNumber}\n";
  24. }
  25. }
Success #stdin #stdout 0.01s 82944KB
stdin
Standard input is empty
stdout
Стандартный номер 84951234567
Стандартный номер 84951234567
Стандартный номер 84951234567
Стандартный номер 88122565656
Стандартный номер 89111234567
Стандартный номер 89111234567
Стандартный номер 89111234567
Стандартный номер 89111234567
Стандартный номер 89991234567
Стандартный номер 89991234567
Стандартный номер 89991234567