Мне нужно проверить / заменить номер телефона в поле формы на регулярное выражение, и это должно быть действительно просто.
Я не могу найти решения в этом формате:
«номер места»
итак: «0521 123456789»
Больше ничего не должно работать. Никаких специальных символов, никакой страны и т. Д.
Просто «0521 123456789»
Было бы здорово, если бы кто-то мог предоставить решение, так как я не являюсь экспертом с регулярным выражением (и PHP).
Вы можете использовать следующие RegEx:
^0[1-9]\d{2}\s\d{9}$
Это будет соответствовать, как это точно
Как это устроено:
^ # String Starts with ...
0 # First Digit is 0
[1-9] # Second Digit is from 1 to 9 (i.e. NOT 0)
\d{2} # 2 More Digits
\s # Whitespace (use a [Space] character instead to only allow spaces, and not [Tab]s)
\d{9} # Digit 9 times exactly (123456789)
$ # ... String Ends with
PHP
код:
$regex = '~\d{4}\h\d{9}~';
$str = '0521 123456789';
preg_match($regex, $str, $match);
См демо на ideone.com.
Позволять только этот шаблон (то есть никаких других символов), вы можете якорь это к началу и концу:
$regex = '~^\d{4}\h\d{9}$~';