Валидация телефонных номеров

F
На сайте с 24.04.2009
Offline
45
1059

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

К примеру +7 495 ххх-хх-хх для Москвы

или +380 44 ххх-хх-хх для Киева, плюс что бы учитывало что код города/села может быть разной длинны.

Ну тут собственно вопрос, есть ли готовые решения для данной задачи? Если нет, то где можно взять хотя бы пример масок для телефонных номеров разных стран?

knuckr
На сайте с 17.03.2011
Offline
39
#1

'/^\+7( ?)[0-9]{3,4}( ?)[0-9]{2,3}(-?)[0-9]{2}(-?)[0-9]{2}$/Ui'

\+7 - код страны
( ?) - пробел есть или нет
[0-9]{3,4} - 3 или 4 символа кода города
( ?) - пробел
[0-9]{2,3} - 2 или 3 первых символа телефона
(-?) - тире, есть или нет
[0-9]{2} - 2 следующих
(-?)
[0-9]{2} - 2 последних

допустим ввод без пробелов и тире, то есть +74954334511

ХЗ
На сайте с 31.08.2008
Offline
155
#2
Fearful:
что бы в зависимости от странны была своя маска.

так грузите регулярку страны в зависимости от страны, имхо нет простых решений по валидации телефонных номеров всех стран мира

knuckr:
[0-9]{3,4} - 3 или 4 символа кода города

в россии есть города с 5 символами в коде

knuckr
На сайте с 17.03.2011
Offline
39
#3

не знал, значит {3,5}, ну в принципе надеюсь логика для ТС понятна

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий