> For the complete documentation index, see [llms.txt](https://docs.leadconverter.su/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.leadconverter.su/funkcii/normalizaciya-nomera-telefona-normalize_phone.md).

# Нормализация номера телефона (normalize\_phone)

## normalize\_phone

Функция приводит телефон к «нормализованному» виду: удаляет пробелы, скобки, дефисы и другие лишние символы, корректно обрабатывает российские номера, начинающиеся с `8` или `7`, и возвращает строку с номером.

Формат записи:

`[normalize_phone]номер телефона[/normalize_phone]`

Пример:

`[normalize_phone]+7 (999) 123-45-67[/normalize_phone]`&#x20;

Результат:

&#x20;`+79991234567`

#### Аргументы

Функция принимает **1 аргумент**:

1. **Телефон (обязательный)**\
   Любое значение, которое можно интерпретировать как телефонный номер.\
   Допустимо передавать:

   * Строку: `+7 (999) 123-45-67`
   * Число: `89991234567`
   * Значение из переменной: `[normalize_phone]{{phone}}[/normalize_phone]`

   Дополнительные правила для российских номеров:

   * Если номер **начинается с `8`**, то первая цифра заменяется на `7`.\
     \&#xNAN;*Пример:* `8 (999) 123-45-67` → `+79991234567`
   * Если номер **начинается с `7`** (и без `+`), добавляется `+` в начало.\
     \&#xNAN;*Пример:* `79991234567` → `+79991234567`
   * Если номер уже в формате `+7...`, он остаётся в этом формате (очищаются только разделители).

   Для номеров **с другими кодами стран**:

   * Если номер начинается с `+` и содержит код другой страны - он просто очищается от лишних символов.\
     \&#xNAN;*Пример:* `+49 (176) 123-45-67` → `+491761234567`
   * Если номер начинается не с `7` или `8` и без `+`, он только очищается.\
     \&#xNAN;*Пример:* `380 99 123 45 67` → `380991234567`

***

#### Особенности работы

* Если передано некорректное значение - вернется пустая строка, в целях совместимости с интеграциями, которые ожидают получение корректного номера
* Значения вроде "123" считаются корректными номерами, валидация значений не входит в зону ответственности данной функции

#### Примеры использования

| Вход                                                     | Результат       | Комментарий                                      |
| -------------------------------------------------------- | --------------- | ------------------------------------------------ |
| `[normalize_phone]+7 (999) 123-45-67[/normalize_phone]`  | `+79991234567`  | Уже корректный номер, удалены только разделители |
| `[normalize_phone]8 999 123-45-67[/normalize_phone]`     | `+79991234567`  | `8` заменена на `7`, добавлен `+`                |
| `[normalize_phone]89991234567[/normalize_phone]`         | `+79991234567`  | Числовой ввод, привели к формату `+7...`         |
| `[normalize_phone]79991234567[/normalize_phone]`         | `+79991234567`  | Номер начинался с `7`, добавлен `+`              |
| `[normalize_phone]+49 (176) 123-45-67[/normalize_phone]` | `+491761234567` | Иностранный номер, просто очищен                 |
| `[normalize_phone]380 99 123 45 67[/normalize_phone]`    | `380991234567`  | Не российский код, только очищен                 |
| `[normalize_phone]тут нет телефона[/normalize_phone]`    | `""`            | Не удаётся выделить цифры → пустая строка        |
| `[normalize_phone][/normalize_phone]`                    | `""`            | Пустое значение                                  |

Если возникли вопросы или трудности - смело обращайся в техподдержку. \
Рады каждому, поможем с любым вопросом и решим любую проблему 🤗

{% content-ref url="/pages/-MasAPNcg291uNezFqb4" %}
[Как задать вопрос в поддержку?](/kak-zadat-vopros-v-podderzhku.md)
{% endcontent-ref %}
