Регулярное выражение для мобильных и городских телефонных номеров России и СНГ
Страны СНГ (2025):
- Азербайджан
+994 - Армения
+374 - Грузия
+995 - Беларусь
+375 - Казахстан
+7 - Киргизия
+996 - Молдова
+373 - Россия
+7 - Таджикистан
+992 - Туркмения
+993 - Узбекистан
+998
Пример номеров:
- +7(999)000-00-00
- 8 495 753 00 00
- +7 84457 123 45
- +79271234567
- 89271234567
// javascript
/^((8|\+994|\+374|\+375|\+7|\+996|\+373|\+992|\+993\+998)[-\s]?)?\(?\d{3,5}\)?[-\s]?\d{1}[-\s]?\d{1}[-\s]?\d{1}[-\s]?\d{1}[-\s]?\d{1}(([-\s]?\d{1})?[-\s]?\d{1})?$/
Код страны (или «8»)
(8|(\+994|\+374|\+375|\+7|\+996|\+373|\+992|\+993|\+998))[-\s]?
( )– группа (захватывающая), чтобы можно было использовать ? после неё.- Внутри группы
|означает «или» – это список альтернатив:8– одна цифра «8» (обычно используется для российских локальных номеров).\+994,\+374, – коды стран
- После кода
[-\s]?– опциональный символ разделителя: может быть тире -, пробел , или ничего. - Весь блок
()имеет?после него, значит код страны может отсутствовать (полностью локальный номер).
Код города / области
\(?\d{3,5}\)?
\(?– необязательное открывающее скобка.\d{3,5}– от 3 до 5 цифр (код города).\)?– необязательная закрывающая скобка.- код города может быть в скобках
(123)или без скобок123.
Номер
\d{1}[-\s]?\d{1}[-\s]?\d{1}[-\s]?\d{1}[-\s]?\d{1}
\d{1}– одна цифра.[-\s]?– после каждой цифры может стоять (или нет) пробел/тире.- Точно 5 раз – это минимум 5 цифр номера.
Плюс
(([-\s]?\d{1})?[-\s]?\d{1})?- Необязательный блок из 1–2 цифр.- Внешняя группа имеет
?, значит весь блок может отсутствовать – тогда всего 5 цифр. - Если блок присутствует, то:
([-\s]?\d{1})?– опциональная первая дополнительная цифра (может быть и без разделителя).[-\s]?\d{1}– обязательная вторая дополнительная цифра.
- В итоге, при наличии блока добавляется одна или две цифры, поэтому после кода
города может быть 5 или 7 цифр.
Регулярное выражение для мобильных и городских номеров России и СНГ
Регулярное выражение для мобильных и городских номеров России и СНГ - phone_regexp.md
