2016-11-04 3 views
-2

мне нужно построить регулярное выражение для проверки всех типов телефонных номеров, которые includes + () . -Regex для проверки всех телефонных номеров

Благодаря Google и переполнение стека и я получил регулярного выражение

/^[+]*[(]{0,1}[0-9]{1,3}[)]{0,1}[-\s\./0-9]*$/g 

для проверки все телефона номера.

Но при проверке +(123 456-7890 указанное выше регулярное выражение работает не так, как ожидалось. Так что я модифицировал выше регулярное выражение, как

/^\+?([(]{1}[0-9]{1,3}[)]{1}|[0-9]{1,3})([-\s0-9]*|[.\s0-9]*)\d+$/ 

и она отлично работает.

Теперь мне нужно ограничить пользователя от ввода последовательных - и точек (.)

Так я вручную проверки того, что

if(HomePhone.indexOf("..") > -1 && HomePhone.indexOf("--") > -1) 
return false; 

Может кто-нибудь помочь мне решить данную проблему с помощью одного регулярного выражения путем улучшения его ..?

Заранее спасибо

+0

Как вы ограничиваете пользователя не давать более трех последовательных цифр, вы можете сделать это для дефисов и точек, верно? Думаю об этом. –

+0

Я не даю вам голоса. попробуйте эту ссылку http://stackoverflow.com/questions/22378736/regex-for-mobile-number-validation –

+0

@WasiAhmad пользователь может иметь пространство, периоды и подменю, но не последовательно. Он может ввести последовательные номера –

ответ

0

Я считаю следующее регулярное выражение будет удовлетворять все ваши требования.

Regex: ^\+?(\([0-9]{3}\)|[0-9]{3})(-.)?[0-9]{3}(-.)?[0-9]{4}$

Это регулярное выражение должно принять следующее:

(123) 456-7890 
+(123) 456-7890 
+(123)-456-7890 
123-456-7890 
123.456.7890 
1234567890 
+3163636363 
075-6354672 

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

0

использования в соответствии .. и -- использовать регулярное выражение /(\.\.+|\--+)/g

Demo Here

+0

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

Смежные вопросы