fork(1) download
  1. <?php
  2.  
  3. $regexp = "/(8|[+]7)(\s?-?\s?[(]?\s?\d\s?[)]?\s?-?\s?){10}/";
  4.  
  5. $numbers = ["8-911-123-22-22", "89111232241",
  6. "+7-333-123-44-22", "+7-444-222-4444",
  7. "8(444)234-2222", "8-(123)-999-12-23",
  8. "+7(222)-2334444", "9-123-123-213-4", "8-123-123-213-4",
  9. "666-666-666-11", "8-911-33-44-66",
  10. "8-911-44-888-21", "913-555-2244",
  11. "8 911 444 33 33", "8 (911) 555 44 44", "8 - 888 - 899 - 44 - 33"
  12. ];
  13.  
  14. // var_dump($numbers);
  15.  
  16. foreach ($numbers as $phone) {
  17. if (preg_match($regexp, $phone)) {
  18. echo "$phone - правильный номер\n";
  19. } else {
  20. echo "$phone - неправильный номер\n";
  21. }
  22. }
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
8-911-123-22-22 - правильный номер
89111232241 - правильный номер
+7-333-123-44-22 - правильный номер
+7-444-222-4444 - правильный номер
8(444)234-2222 - правильный номер
8-(123)-999-12-23 - правильный номер
+7(222)-2334444 - правильный номер
9-123-123-213-4 - неправильный номер
8-123-123-213-4 - правильный номер
666-666-666-11 - неправильный номер
8-911-33-44-66 - неправильный номер
8-911-44-888-21 - правильный номер
913-555-2244 - неправильный номер
8 911 444 33 33 - правильный номер
8 (911) 555 44 44 - правильный номер
8 - 888 - 899 - 44 - 33 - правильный номер