Advertisement
Guest User

reg ex1

a guest
Jan 6th, 2017
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.18 KB | None | 0 0
  1. <?php
  2.  
  3. // Правильные:
  4. $correctNumbers = [
  5.     '84951234567',  '+74951234567', '8-495-1-234-567',
  6.     ' 8 (8122) 56-56-56', '8-911-1234567', '8 (911) 12 345 67',
  7.     '8-911 12 345 67', '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567',
  8.     '8 ( 999 ) 1234567', '8 999 123 4567'
  9. ];
  10.  
  11. // Неправильные:
  12. $incorrectNumbers = [
  13.     '02', '84951234567 позвать люсю', '849512345', '849512345678',
  14.     '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
  15.     '84951a234567', '8495123456a',
  16.     '+1 234 5678901', /* неверный код страны */
  17.     '+8 234 5678901', /* либо 8 либо +7 */
  18.     '7 234 5678901' /* нет + */
  19. ];
  20. $regexp = '/^(\+[()\-\s]*7)|8[()\-\s]*([0-9][()\-\s]*){10}$/u';
  21.  
  22. echo $regexp . '</br>';
  23. $matches = array();
  24. foreach($correctNumbers as $number) {
  25.     if (!preg_match($regexp, $number, $matches)) {
  26.         echo "Введён неправильный номер: $number<br>";
  27.     }
  28. }
  29.  
  30. foreach($incorrectNumbers as $number) {
  31.     if (preg_match($regexp, $number, $matches)) {
  32.         echo "Неправильный номер прошёл Хакурейский барьер: $number<br>";
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement