Форматирование телефонов
Список номеров из выгрузки почти никогда не готов к загрузке: где-то восьмёрка, где-то плюс семь, где-то скобки и дефисы, где-то лишний пробел из Экселя.
Результат
Зачем приводить номера к одному виду
Инструмент приводит список телефонов к единому виду: убирает скобки, дефисы и пробелы, добавляет код страны, переводит номера в международный формат и отбрасывает дубли.
Российские номера записывают тремя способами: через 8, через +7 и просто десятью цифрами. Для системы это три разных строки, и без приведения к одному виду база рассылки получает дубликаты, а поиск по номеру не срабатывает.
Международный формат E.164 задаёт единственно верную запись: плюс, код страны, номер, всего не больше пятнадцати цифр, без пробелов и разделителей. Именно в нём номера принимают почти все системы связи и рассылок.
Отдельно инструмент показывает, какие строки не удалось разобрать. Обычно это номера с добавочным, записанные текстом, иностранные без кода страны и просто опечатки — их приходится править вручную.

| Запись | В формате E.164 |
|---|---|
| 8 (900) 123-45-67 | +79001234567 |
| +7 900 1234567 | +79001234567 |
| 9001234567 | +79001234567 |
| 8-900-123-45-67 | +79001234567 |
План E.164, код +7 и восьмёрка
Международный план нумерации E.164 разработан Международным союзом электросвязи. Он задаёт коды стран и общую длину номера, а внутреннее устройство каждая страна определяет сама.
Код России +7 достался в наследство от Советского Союза, и его до сих пор делит с Россией Казахстан — редкий случай, когда один код обслуживает два государства.
Восьмёрка в начале номера — это код выхода на междугородную связь, оставшийся от аналоговых АТС. Формально она к номеру не относится, и при международной записи заменяется на плюс с кодом страны.
Мобильная связь стёрла географию номеров. Раньше код определял город, теперь номер сохраняется при переносе между операторами и регионами, и определить местоположение по нему уже нельзя.


Как обработать список
Прогоняйте список через приведение перед любой загрузкой в систему. Дубликаты в базе рассылки означают повторные сообщения одному человеку и лишние деньги.
Проверяйте длину после приведения. Российский мобильный номер в международном формате — ровно 11 цифр после плюса; всё остальное указывает на ошибку в исходных данных.
Приводите список порциями по несколько тысяч строк. Большая выгрузка обрабатывается дольше и труднее проверяется глазом на выборке.
Отделяйте добавочные номера в отдельное поле. Запись вида «+74951234567 доб. 245» ломает набор и отправку сообщений, а в отдельном поле сохраняется без вреда.
Проверяйте, не попали ли в список служебные номера. Короткие номера операторов и справочные службы приводятся к международному виду неправильно и должны отсеиваться отдельно.
Сохраняйте исходную запись рядом с приведённой. При спорах о том, откуда взялся номер, исходная строка помогает найти источник ошибки.
Разделяйте мобильные и городские номера. Рассылка сообщений на городской номер не доходит, и такие записи выгоднее отсеять до отправки.
Проверьте формат перед загрузкой в систему связи. Часть платформ принимает номер без плюса, часть требует его — расхождение приводит к отказу всей загрузки.
Учитывайте иностранные номера. Строки без кода страны нельзя приводить автоматически: тот же десятизначный номер существует в десятках стран.
Убирайте невидимые символы. Неразрывные пробелы и переносы строки внутри номера при копировании из документа встречаются постоянно и ломают разбор.
Сверяйте длину по странам. Номера различаются: во Франции девять цифр после кода, в Германии от десяти до одиннадцати, и единой проверки на длину не существует.
Разобрать таблицу по колонкам поможет разделение на столбцы, а проверить адреса — проверка email списком.
| Стандарт | E.164 |
| Максимум цифр | 15 |
| Российский номер | 11 цифр с кодом |
| Код России | +7 |
| Делит код с | Казахстаном |
| Восьмёрка | код выхода на межгород |
| Дубли | отбрасываются |
| Иностранные | требуют кода страны |
Как пользоваться
Инструмент разбирает такую кашу построчно, приводит все номера к одному виду и сразу выдаёт четыре формата: человекочитаемый, международный E.164, голые цифры для загрузки в кабинеты и привычный вид с восьмёркой. Рядом считаются хеши MD5 и SHA-256 — рекламные кабинеты принимают аудиторные сегменты именно хешами, чтобы сами номера не покидали ваш компьютер. Дубли схлопываются уже после нормализации: +7 916 123-45-67 и 89161234567 — это один и тот же человек, и в исходном списке они дублями не выглядят. Битые строки собираются отдельным списком, у каждой написана причина.
- Из Экселя, из CRM, из выгрузки — в любом виде, по номеру на строку.
- Четыре вида записи плюс хеши для рекламных кабинетов.
- Дубли уже схлопнуты, битые строки лежат отдельно.
- У каждой отбракованной строки написана причина.
Частые вопросы
Чем 8 отличается от +7 при загрузке
Для сети ничем, для программы всем. Восьмёрка — это внутрироссийский префикс выхода на межгород, он работает только внутри страны и в международной записи не существует. Кабинеты и CRM почти всегда ждут либо E.164 (+79161234567), либо те же цифры без плюса (79161234567). Номер, начинающийся с восьмёрки, такие системы либо отбрасывают, либо считают отдельным контактом — отсюда и дубли в базе.
Что такое формат E.164
Международный стандарт записи: плюс, код страны, номер, без пробелов и скобок, максимум пятнадцать цифр. Для России это +7 и десять цифр — итого +79161234567. В этом виде номер понимают телефония, мессенджеры и рекламные системы, и именно его стоит хранить в базе, а красивую запись со скобками собирать уже при выводе на экран.
Зачем номера хешируют
Чтобы загрузить аудиторию в рекламный кабинет и при этом не отдавать сами номера. Кабинет сравнивает хеши со своими и находит совпадения, а восстановить номер из хеша нельзя. Важная тонкость: хешировать надо строго нормализованный номер, одинаково у вас и у площадки. MD5 от «+7 916 123-45-67» и от «79161234567» дадут разные строки, и совпадений не будет ни одного — поэтому нормализация идёт до хеширования.
Как определяется мобильный номер
По коду — первым трём цифрам после семёрки. Мобильным операторам в российском плане нумерации отведены коды с 900 по 999, код 800 закреплён за бесплатными для звонящего линиями, остальные коды принадлежат географическим зонам. Инструмент по коду показывает тип и, если код известен, регион. Переносимость номера код не меняет, поэтому регион здесь означает место подключения, и владелец давно может жить в другом городе.
Почему часть номеров попадает в брак
Три обычные причины. Слишком мало цифр — строка обрезана при выгрузке. Слишком много — в одну ячейку слипись два номера или добавочный. Несуществующий код — после семёрки идут цифры от нуля до двойки, а таких кодов в российском плане нумерации нет. В каждом случае в списке брака стоит своя пометка, и такие строки проще починить руками, чем гадать.
Что происходит с добавочными номерами
Добавочный отрезается вместе со всем, что идёт после основного номера, и строка помечается. Держать добавочный в том же поле, что и номер, всё равно нельзя: телефония наберёт его как часть номера и не дозвонится.
Куда уходит вставленный текст?
Нет, всё считается в браузере, включая хеши. Страницу можно открыть и отключить интернет — расчёт не сломается.
Спросите нейросети об инструменте
Похожие инструменты
Преобразовать текст в таблицу: разделитель, «поле: значение», пробелы или markdown распознаются сами, таблица вставляется в Word и Excel, скачивается .xlsx и .docx; обратно делает из таблицы текст.
ОткрытьПроверка email спискомСинтаксис, дубли, опечатки в доменах вроде gmail.ru, одноразовые почты, ролевые адреса и кириллица в латинском написании.
ОткрытьФильтр строкОставить или убрать строки списка по условию: содержит любое из слов, начинается, заканчивается, равно, регулярное выражение, длина, число слов, только цифры, латиница или кириллица. Две колонки результата с копированием и скачиванием.
ОткрытьФИО в столбцы и инициалыСписок ФИО одной колонкой превращается в таблицу: фамилия, имя, отчество, пол по отчеству или по справочнику имён, инициалы «Иванов И. И.», «И. И. Иванов», «Иванов И.». Обратный порядок слов и регистр исправляются, сортировка, дубли, XLSX.
ОткрытьРазделить списокРазбить на группы по N строк или на N равных частей. Бить семантику на пакеты.
ОткрытьПодсчёт и частотностьСколько строк всего, уникальных и как часто повторяется каждая. Сортировка по частоте.
ОткрытьЕщё инструменты для списков
Удаление дубликатов и сравнение двух списков, сортировка, столбец в строку и обратно, нумерация, частотность и шаблонизатор — в разделе 17 инструментов.