---
title: "Формат номера E.164: как преобразовать и проверить номер"
description: "Формат номера телефона E.164: правила, таблица примеров преобразования, требования API WhatsApp и SMS, регулярное выражение и проверка через libphonenumber."
canonical: "https://omnichannels.ai/ru/blog/e164-phone-number-format/"
language: "ru"
updated: "2026-11-08"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
category: "integration"
primaryQuery: "формат e164"
keywords: ["международный формат номера телефона", "номер телефона e.164", "преобразовать номер в e164", "регулярное выражение e164", "libphonenumber", "excel номера телефонов ведущий ноль", "формат номера телефона whatsapp"]
published: "2026-11-08"
author: "OmniChannels.ai Editorial Team"
reviewer: "BroadNet Messaging Solutions Team"
readingMinutes: 9
answer: "E.164 — это международный план нумерации ITU-T. Номер E.164 записывается со знаком «+» в начале, затем код страны и национальный номер, не более 15 цифр, без пробелов и знаков препинания, например +971501234567. Чтобы преобразовать местный номер, отбросьте национальный префикс междугородной связи (обычно 0), если в стране он есть, добавьте «+» и код страны и удалите пробелы и скобки."
takeaways: ["Номер E.164 — это знак «+», код страны и национальный номер: всего до 15 цифр, без пробелов, дефисов и скобок.", "Преобразование означает удаление национального префикса, обычно 0, но он есть не везде: в таблице процедур набора ITU для Италии, Испании и Катара его нет.", "Meta рекомендует указывать в запросах на отправку в WhatsApp знак «+» и код страны, потому что к номеру без них добавляется код страны отправителя, и сообщение может попасть не тому человеку.", "Регулярное выражение проверяет форму номера, а библиотека вроде libphonenumber проверяет, что он допустим для своей страны.", "Excel может отбрасывать ведущие нули и показывать длинные числа в экспоненциальной записи, поэтому держите столбцы с телефонами в текстовом формате."]
faq: 
  - q: "Что такое формат E.164?"
    a: "E.164 — это международный план телефонной нумерации, определённый рекомендацией ITU-T E.164. В повседневном использовании номер E.164 — это знак «+», код страны и национальный номер, записанный только цифрами, всего не более 15 цифр. Он однозначно определяет номер во всём мире, поэтому платформы сообщений и API требуют именно его."
  - q: "Как преобразовать номер телефона в E.164?"
    a: "Удалите пробелы, дефисы и скобки. Отбросьте национальный префикс, если в стране он используется, обычно это ведущий 0. Добавьте знак «+» и код страны. Так номер ОАЭ 050 123 4567 превращается в +971501234567. В таких странах, как Италия, у стационарных номеров ведущий 0 сохраняется, поэтому проверьте правило страны или используйте библиотеку."
  - q: "Сколько цифр может быть в номере E.164?"
    a: "Не более 15, считая код страны и национальный номер и не считая международный префикс набора. Знак «+» не является цифрой. Многие национальные номера гораздо короче. Значение длиннее 15 цифр не может быть допустимым номером E.164 и обычно указывает на ошибку при вставке или повреждённую ячейку таблицы."
  - q: "Нужен ли API WhatsApp знак «+»?"
    a: "В документации Meta сказано, что знаки «+», дефисы, скобки и пробелы поддерживаются в запросах на отправку сообщений, и настоятельно рекомендуется указывать знак «+» и код страны. Без «+» к номеру добавляется код страны отправителя, и сообщение может уйти на другой, неверный номер. Для надёжности отправляйте полный E.164."
  - q: "Почему Excel убирает нуль или меняет мои номера телефонов?"
    a: "Excel воспринимает номер, введённый как число, числовым значением. Microsoft сообщает, что это убирает ведущие нули и показывает длинные числа в экспоненциальной записи, поскольку Excel хранит 15 цифр точности. Задайте столбцу текстовый формат до ввода или вставки номеров либо начинайте ввод с апострофа и заново введите ранее набранные номера."
  - q: "Означает ли допустимый номер E.164, что он досягаем?"
    a: "Нет. Номер может быть правильно оформлен, но не назначен, отключён или перенесён к другому оператору. Проверка формата проверяет форму и длину для страны. Чтобы узнать, активен ли номер и в какой он сети, перед большой отправкой выполните HLR-проверку или проверку номера."
sources: 
  - title: "Recommendation ITU-T E.164: The international public telecommunication numbering plan"
    url: "https://www.itu.int/rec/T-REC-E.164"
  - title: "Dialling procedures (international prefix, national (trunk) prefix and national (significant) number), ITU Operational Bulletin No. 994, 15.XII.2011"
    url: "https://www.itu.int/dms_pub/itu-t/opb/sp/t-sp-e.164c-2011-pdf-e.pdf"
  - title: "WhatsApp user phone number formats — WhatsApp Business Platform, Meta for Developers"
    url: "https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers"
  - title: "Keeping leading zeros and large numbers — Microsoft Support"
    url: "https://support.microsoft.com/en-au/excel/keeping-leading-zeros-and-large-numbers"
  - title: "libphonenumber — Google, open-source library on GitHub"
    url: "https://github.com/google/libphonenumber"
---

# Формат номера E.164: как преобразовать и проверить номер

Canonical: https://omnichannels.ai/ru/blog/e164-phone-number-format/
Language: ru
Publisher: OmniChannels.ai by BroadNet Technologies

Это руководство для маркетологов, аналитиков и разработчиков, которые работают с номерами телефонов для SMS или WhatsApp и хотят привести их к виду, который принимает API. Оно объясняет, что такое E.164, показывает, как преобразовывать номера разных стран, и рассказывает о проверке в коде и о проблемах электронных таблиц, портящих номера ещё до отправки.

## Что такое формат E.164?

E.164 — это международный план нумерации сетей связи общего пользования, опубликованный ITU-T как рекомендация E.164. На практике этим термином описывают способ записи номера: знак «+», код страны и национальный номер, только цифрами.

Номер E.164 состоит из следующих частей:

- **`+`** заменяет международный префикс набора, который в разных странах разный (00 во многих местах, 011 в США).
- **Код страны,** от одной до трёх цифр, например 971 для ОАЭ или 1 для США и Канады.
- **Национальный номер,** то есть остаток номера без национального префикса междугородной связи.

Рекомендация устанавливает максимальную длину в 15 цифр без международного префикса. Поэтому `+971501234567` — допустимый E.164 (12 цифр), а значение из 17 цифр допустимым быть не может. Краткое определение дано в [статье глоссария об E.164](/ru/glossary/e164/).

## Как преобразовать местный номер телефона в E.164?

Уберите оформление, отбросьте национальный префикс, если он есть, и добавьте знак «+» и код страны.

1. **Удалите пробелы, дефисы, точки и скобки.** `050 123 4567` превращается в `0501234567`.
2. **Удалите международный префикс набора,** если он есть: `00971...` или `011...` превращается в `971...`.
3. **Отбросьте национальный префикс,** если в стране он используется. Во многих странах это `0`; в США и Канаде — `1`.
4. **Добавьте код страны,** если его ещё нет.
5. **Добавьте знак «+».**

Для этого нужно знать страну. `0501234567` имеет смысл только вместе со страной, поэтому в таблицах должен быть столбец страны.

## Как выглядят номера E.164 в разных странах?

В таблице приведены примеры. Номера условные, это не настоящие абоненты. Коды набора взяты из наших данных о нормах; префиксы междугородной связи — из таблицы процедур набора ITU.

| Страна | Код набора | Префикс междугородной связи (таблица ITU) | Местная форма (пример) | E.164 |
|---|---|---|---|---|
| ОАЭ | +971 | 0 | 050 123 4567 | +971501234567 |
| Саудовская Аравия | +966 | 0 | 051 234 5678 | +966512345678 |
| Катар | +974 | не указан | 5512 3456 | +97455123456 |
| Кения | +254 | 0 | 0712 345 678 | +254712345678 |
| Великобритания | +44 | 0 | 07700 900123 | +447700900123 |
| Германия | +49 | 0 | 0151 12345678 | +4915112345678 |
| Индия | +91 | 0 | 098765 43210 | +919876543210 |
| Испания | +34 | не указан | 612 345 678 | +34612345678 |
| Италия (мобильный) | +39 | не указан | 312 345 6789 | +393123456789 |
| Италия (стационарный) | +39 | не указан | 06 1234 5678 | +390612345678 |
| США | +1 | 1 | (202) 555-0123 | +12025550123 |

Таблица ITU отражает опубликованное положение на декабрь 2011 года, поэтому считайте её ориентиром по общей закономерности, а конкретную страну уточняйте через библиотеку или у регулятора.

## Почему в Италии сохраняется ведущий 0?

Потому что в Италии 0 — часть самого номера, а не префикс междугородной связи. В таблице процедур набора ITU у Италии (код страны 39) национального префикса нет, так что отбрасывать нечего. Итальянские географические номера начинаются с 0, как в римском примере `06 1234 5678`, и сохраняют его в международной форме: `+390612345678`. Итальянские мобильные номера начинаются с 3 и не содержат нуля, который нужно сохранять, поэтому `312 345 6789` превращается в `+393123456789`.

Не применяйте правило «всегда отбрасывать нуль» как универсальное. В той же таблице нет префикса междугородной связи также для Испании и Катара, а данные меняются, и это веская причина использовать библиотеку для всего, что нельзя проверить вручную.

## Почему API для SMS и WhatsApp требуют E.164?

Потому что маршрутизация зависит от однозначного номера. Номер без кода страны может принадлежать многим странам, и платформа может отправить сообщение не на тот рынок, применить не те правила имени отправителя и выставить не тот тариф. Тарифы, регистрация имени отправителя и часы рекламной рассылки применяются по стране назначения, а определяется она по коду страны.

### Что Meta говорит о номерах WhatsApp?

В документации Meta о форматах номеров телефонов пользователей WhatsApp сказано, что в запросах на отправку сообщений поддерживаются знаки «+», дефисы, скобки и пробелы, и настоятельно рекомендуется указывать знак «+» и код страны. Если знака «+» нет, к номеру добавляется код страны отправителя, и сообщение может уйти на неверный номер. Пример Meta: для отправителя из Индии (код 91) `(631) 555-1234` доставляется на `+916315551234`, а `+1 (631) 555-1234` доставляется правильно. Meta также отмечает, что для Бразилии и Мексики Cloud API может изменять лишний префикс, который встречается в некоторых номерах, и называет такое поведение стандартным.

Надёжный подход: храните чистый E.164 и отправляйте именно его.

### А что с SMS?

API для SMS тоже ожидают полный международный номер. Некоторым нужны цифры без знака «+»; формат различается между API и протоколами, поэтому изучите документацию используемого вами API и проверьте на своём номере. Рабочие примеры см. в материалах [отправка SMS через API](/ru/blog/send-sms-api-examples/) и [отправка сообщения WhatsApp через API](/ru/blog/send-whatsapp-message-api-examples/).

## Как проверять и нормализовать номера в коде?

Используйте регулярное выражение для быстрой проверки формы и библиотеку для настоящей проверки.

Распространённая проверка формы E.164:

```js
// Plus, a non-zero first digit, then 1 to 14 more digits: 15 digits at most
const E164 = /^\+[1-9]\d{1,14}$/;

function looksLikeE164(value) {
  return E164.test(value);
}

looksLikeE164("+971501234567"); // true
looksLikeE164("0501234567");    // false: no plus or country code
looksLikeE164("+0501234567");   // false: country codes do not start with 0
```

Регулярное выражение проверяет только длину и символы. Оно пропустит `+99999999999`, хотя такого номера не существует. Для настоящей проверки используйте библиотеку Google с открытым исходным кодом libphonenumber, предназначенную для разбора, форматирования и проверки международных телефонных номеров, доступную для Java, C++ и JavaScript, с портами сообщества для других языков. В её README `isValidNumber` описана как полная проверка для региона по данным о длине и префиксах, а также показано форматирование разобранного номера в E.164.

```python
# pip install phonenumbers  (a Python port of libphonenumber)
import phonenumbers

def to_e164(raw, default_region):
    try:
        number = phonenumbers.parse(raw, default_region)  # e.g. "AE", "SA", "GB"
    except phonenumbers.NumberParseException:
        return None
    if not phonenumbers.is_valid_number(number):
        return None
    return phonenumbers.format_number(number, phonenumbers.PhoneNumberFormat.E164)

print(to_e164("050 123 4567", "AE"))   # +971501234567 if the number is valid for the UAE
print(to_e164("+44 7700 900123", "GB"))
```

Порты пишут сторонние разработчики, поэтому оцените качество выбранного. Разбирайте номер с регионом по умолчанию, взятым из страны клиента, затем сохраняйте результат E.164. Сохраняйте и исходный ввод, чтобы можно было разобрать его заново при изменении правил.

Нормализуйте при вводе: в форме регистрации, при импорте в CRM или в API, а не при отправке. Номер, записанный двумя способами, становится двумя контактами, и каждый получит одну и ту же кампанию.

## Как исправить номера телефонов в таблице?

Задайте столбцу с телефонами текстовый формат до того, как вводить или вставлять номера. Типичные проблемы:

| Проблема | Что происходит | Как исправить |
|---|---|---|
| Ведущий нуль удалён | `0501234567` превращается в `501234567` | Сначала задайте ячейкам текстовый формат; или начните ввод с апострофа |
| Экспоненциальная запись | Длинный номер показан как `9.71501E+11` | Задайте текстовый формат; Excel хранит числовую точность до 15 цифр |
| Потерян знак «+» | Числовая ячейка может не сохранить `+` | Задайте текстовый формат, затем проверьте первые символы столбца |
| Пробелы и дефисы | `971 50 123 4567` | Удалите через «Найти и заменить» или `SUBSTITUTE` |
| Нет кода страны | Только местные номера | Добавьте столбец страны; соберите номер формулой |

Microsoft сообщает, что Excel удаляет ведущие нули и преобразует большие числа в экспоненциальную запись, а номера, введённые до применения текстового формата, нужно вводить заново. При прямом открытии файла CSV Excel применяет к каждому столбцу форматы по умолчанию, поэтому используйте мастер импорта текста или «Из текста/CSV», чтобы пометить столбец телефонов как текст.

Для списка мобильных номеров ОАЭ, хранящихся в виде `050 123 4567` в столбце A, эта формула собирает E.164 как текст:

```text
="+971"&RIGHT(SUBSTITUTE(A2," ",""),9)
```

Она берёт последние девять цифр после удаления пробелов, поэтому подходит только для номеров такого вида. Перед сохранением в CSV скопируйте результат и вставьте как значения. [Форматтер номеров](/ru/tools/phone-number-formatter/) преобразует номер без формулы, а наше руководство по [массовой SMS-рассылке из Excel или CSV](/ru/blog/send-bulk-sms-from-excel-csv/) показывает весь процесс загрузки.

## Пример: очистка списка клиентов

«Souq Rafiq» (вымышленный пример), розничная компания из Дубая, выгружает 8000 контактов из трёх систем с номерами вида `0501234567`, `971 50 123 4567`, `+971-50-123-4567` и `00971501234567`.

1. Аналитик добавляет столбец страны по стране выставления счёта каждого клиента.
2. Скрипт разбирает каждую строку с этой страной в качестве региона по умолчанию, так что все четыре формата превращаются в `+971501234567`.
3. Строки, не прошедшие проверку, попадают на лист для проверки, а не отправляются.
4. Дубликаты удаляются после нормализации, которая сводит четыре формата к одному контакту.
5. HLR-проверка перед кампанией отмечает неактивные номера. См. [HLR-проверка: объяснение](/ru/blog/hlr-lookup-number-validation/).
6. Чистый столбец сохраняется как текст и загружается.

Именно нормализация в начале делает проверку на дубликаты рабочей; до неё один и тот же клиент выглядел как четыре человека.

## Какие бывают типичные ошибки?

- **Всегда отбрасывать ведущий нуль.** В некоторых странах, например в Италии, нет префикса междугородной связи.
- **Сохранять нуль и добавлять код страны,** получая `+9710501234567`.
- **Отправлять в WhatsApp без знака «+»,** из-за чего добавляется код страны отправителя.
- **Использовать регулярное выражение как проверку.** Оно проверяет форму, а не допустимость.
- **Позволять Excel воспринимать телефоны как числа,** теряя нули или переходя на экспоненциальную запись.
- **Нормализовать при отправке** вместо ввода.
- **Считать, что допустимый формат означает досягаемый номер.** Перенесённые или отключённые номера всё равно дают сбой.
- **Доверять статичной таблице.** Планы нумерации меняются; используйте поддерживаемую библиотеку.

## Чем помогает OmniChannels.ai

OmniChannels.ai принимает международные номера для SMS и WhatsApp через один REST API, а его [кампании](/ru/platform/campaigns/) принимают загрузку Excel и CSV с предпросмотром и фильтрацией дубликатов. BroadNet предлагает HLR-проверку и проверку номера, так что вы можете убедиться, что правильно оформленный номер активен. Точные поля запросов смотрите в [документации SMS API](/developers/sms/) и [документации WhatsApp API](/developers/whatsapp/), а по вопросам подключения [поговорите с нашей командой](/ru/contact/).
