Regex — простая проверка номера телефона

Мне нужно проверить / заменить номер телефона в поле формы на регулярное выражение, и это должно быть действительно просто.
Я не могу найти решения в этом формате:

«номер места»
итак: «0521 123456789»

Больше ничего не должно работать. Никаких специальных символов, никакой страны и т. Д.
Просто «0521 123456789»

Было бы здорово, если бы кто-то мог предоставить решение, так как я не являюсь экспертом с регулярным выражением (и PHP).

0

Решение

Вы можете использовать следующие RegEx:

^0[1-9]\d{2}\s\d{9}$

Это будет соответствовать, как это точно

Живая Демо на RegExr


Как это устроено:

^        # 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
3

Другие решения

PHP код:

$regex = '~\d{4}\h\d{9}~';
$str = '0521 123456789';
preg_match($regex, $str, $match);

См демо на ideone.com.
Позволять только этот шаблон (то есть никаких других символов), вы можете якорь это к началу и концу:

$regex = '~^\d{4}\h\d{9}$~';
2

По вопросам рекламы [email protected]