Поиск по этому блогу

вторник, 24 мая 2016 г.

regexp - тільки номери мобільних операторів України.

Постало питання перевіряти номери телефонів на відповідність до будь-якого мобільного оператора України. Орієнтуючись на коди операторів, станом на травень 2016, вийшов от такий регулярний вираз:
^(\+?38)?0[ -]*(((50|6[3678]|73|9[1-9])[ -]*[0-9]{3}[ -]*[0-9]{2}[ -]*[0-9]{2})|(89[ -]*[1-9][0-9]{2}[ -]*[0-9]{2}[ -]*[0-9]{2}))$
Номер має бути представлений у форматах +380 XX XXX XX XX або 0XX XXX XX XX.
Для зручності:
^(\+?38)?0[ -]*(
((50|6[3678]|73|9[1-9])[ -]*[0-9]{3}[ -]*[0-9]{2}[ -]*[0-9]{2})|
(89[ -]*[1-9][0-9]{2}[ -]*[0-9]{2}[ -]*[0-9]{2})
)$
Коди мобільних операторів України бралися з Wikipedia.