Regex для международного номера телефона (E.164)

Используйте /^\+[1-9]\d{1,14}$/, чтобы проверить, что вся строка является корректным международным номером телефона (E.164). Каждый пример ниже проверен по этому шаблону, а открыть его можно в Regex Tester с уже загруженными образцами.

Обновлено

ВводРезультат
+14155550199✓ Совпадение
+442071838750✓ Совпадение
+919876543210✓ Совпадение
14155550199✗ Нет совпадения
+0123456789✗ Нет совпадения
+1 415 555 0199✗ Нет совпадения
+1234567890123456✗ Нет совпадения

Как работает шаблон

ЧастьЗначение
^\+Начинается со знака плюс
[1-9]Коды стран никогда не начинаются с 0
\d{1,14}Ещё до 14 цифр — E.164 допускает всего 15 цифр
$Конец строки, поэтому пробелов и дефисов быть не должно

Примеры кода

JavaScript

const re = /^\+[1-9]\d{1,14}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'\+[1-9]\d{1,14}', value))

PHP

preg_match('/^\+[1-9]\d{1,14}$/', $value) === 1;

Примечания и ограничения

E.164 — это формат, который ожидают Twilio, WhatsApp и большинство SMS API. Перед проверкой удалите пробелы, дефисы и скобки, а если пользователь не указал код страны, добавьте его.

Часто задаваемые вопросы

Какое регулярное выражение для международного номера телефона (E.164)?
/^\+[1-9]\d{1,14}$/ — оно проверяет всю строку целиком. Что делает каждая часть, см. в таблице выше.
Какие примеры совпадают?
Из проверенных примеров совпадают: +14155550199, +442071838750, +919876543210. Остальные — нет.
Как протестировать это регулярное выражение?
Нажмите «Открыть в Regex Tester» — шаблон, флаги и тестовый текст загрузятся автоматически, а совпадения будут подсвечиваться по мере редактирования.