Регулярное выражение для мобильных и городских телефонных номеров России и СНГ

Страны СНГ (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})?$/

regex101

Код страны (или «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