Проверка правильности регулярного телефонного выражения - PullRequest
1 голос
/ 30 июля 2010

Я пытался найти регулярное выражение проверки, чтобы выполнить некоторую проверку для телефонных номеров. Я собираюсь удалить некоторые вещи, когда я их использую, но я хотел бы предоставить пользователю свободу вводить свой номер так, как он хочет, и я хочу отображать его, как только он его ввел.

Я подумал, что лучшее, что можно сделать, это занести в белый список моих персонажей. Я рассчитывал на

[space] + - [0-9] ( )

Есть ли другие символы, которые мне следует разрешить? Я не совсем уверен, должен ли я искать символы, которые не соответствуют этому в шаблоне?

Пока все, что я могу придумать, это,

[\+0-9\s\-\(\)]

Который, кажется, соответствует каждому персонажу

Я играл здесь, http://gskinner.com/RegExr/

Используя это как мои данные,

+44 787 553 7794
+1-818-923-4821
&9_981-432 p

+44 (0) 20 874 1932

Если бы кто-нибудь мог подтолкнуть меня в правильном направлении, я был бы очень благодарен! Спасибо:)

Ответы [ 3 ]

1 голос
/ 30 июля 2010
^[\+0-9\s\-\(\)]+$

^ и $ Убедитесь, что мы сопоставляем всю строку

+ (перед окончательным $) позволит диапазону соответствовать целому числу (несколько символов)

0 голосов
/ 27 сентября 2011

Используя это в качестве моих данных, +44 (0) 20 8874 1932

При столкновении с недопустимым форматом, таким как +44 (0) 20 8874 1932, просто снимая скобкиприводит к недействительному номеру +44 020 8874 1932.

Этот номер должен быть представлен как +44 20 8874 1932 для международного использования и как (020) 8874 1932 для национального использования.

Международный формат не включает скобки.

0 голосов
/ 30 июля 2010

Как насчет сохранения строки при ее вводе пользователем, а затем удаления всего, что не является числом или # или +, если вы хотите набрать ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...