Перейти к содержимому
Инструменты Кейсы Компания Контакты
+7 (495) 185-60-65
Сервисы

Экстрактор телефонов из текста с нормализацией номеров

Собирает телефоны из любого текста, приводит к одной маске и убирает дубли по номеру, а не по написанию. Работает прямо в браузере.

Список телефонов почти никогда не приходит в одном виде. В выгрузке из формы одни номера с плюсом, другие с восьмёркой, третьи со скобками и пробелами. Сверху ложится почтовая переписка и таблица от партнёра. А CRM или сервис рассылки ждёт один формат и ругается на всё остальное.

Эту кашу разбирает экстрактор телефонов из текста в поле выше. Вставляете текст как есть, выбираете маску, забираете готовый столбик. Разбор идёт у вас в браузере, введённый текст никуда не уходит.

Когда это выручает

  • Заявки пришли из разных форм и лендингов, а слить их надо в одну базу, где номер выглядит одинаково.
  • Перед рассылкой по SMS или в мессенджерах нужен единый формат.
  • Чистите старую базу и считаете уникальные контакты.
  • Вытаскиваете контакты из письма или прайса, где номера вперемешку с текстом.

Как пользоваться экстрактором телефонов

Сначала отметьте согласие над формой. До этого поле неактивно. Галочка нигде не запоминается: перезагрузили страницу, ставьте заново.

Дальше вставьте текст в «Исходный текст», и счётчики начнут пересчитываться на лету, пока вы печатаете или правите вставленное.

В «Маске вывода» четыре варианта: +7XXXXXXXXXX, 8XXXXXXXXXX, читаемый +7 (XXX) XXX-XX-XX и «Только цифры». Последний отдаёт те же одиннадцать цифр с семёркой впереди, просто без плюса и разделителей: так номер обычно и просят в импорте. Маску можно переключать, текст заново вставлять не нужно. Готовый список забирайте кнопкой «Скопировать» или сохраните файлом через «Скачать .txt».

Было и стало

Вставляем три строки как есть:

  • Иванов, моб. 8 (916) 123-45-67
  • Петрова +7 916 123 45 67, отдел закупок
  • склад: 8-495-185-60-65

Получаем два номера: +79161234567 и +74951856065. Первые две строки схлопнулись в один контакт, хотя написаны по-разному. Счётчики покажут «Найдено 3» и «Уникальных после дедупликации 2», и вот эта разница и есть то, ради чего сюда приходят.

Что делать с результатом

Над результатом три числа. «Найдено» считает все номера в тексте вместе с повторами. «Уникальных после дедупликации» показывает, сколько контактов реально останется в базе. «Иностранные номера» считает те, что под российский формат не подошли.

Дубли отсеиваются по нормализованному значению, а не по написанию. Запись 8 916 123-45-67 и запись +7 (916) 123-45-67 для инструмента один и тот же контакт. Обычная чистка по строке такую пару пропустит, и в CRM потом заедут два лида на одного человека. Готовый столбик уходит дальше: в импорт CRM, в рассылку, в аудиторию рекламного кабинета.

Дальше по маршруту обычно идут два соседа. Экстрактор email из текста соберёт из той же выгрузки адреса. Пересечение и разность списков вычтет тех, кто уже есть в базе, и покажет только новых.

Про чужую базу и закон

Телефон живого человека это персональные данные, и правила к нему те же, что к паспортным. Отсюда простое следствие: чужую базу нельзя загружать в незнакомый онлайн-сервис, потому что вы не знаете, что он с ней сделает.

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

О чём помнить

  • Одиннадцать цифр с 7 или 8 в начале: первая считается кодом страны и отбрасывается. Оставшиеся десять должны начинаться с 3, 4, 8 или 9, иначе номер уедет в иностранные.
  • Десять цифр без кода тоже считаются российским номером, и правило то же: первая цифра 3, 4, 8 или 9. ИНН вида 7707083893 под него не подходит и уходит в иностранные. А вот артикул из десяти цифр, начинающийся с девятки, инструмент всё ещё примет за телефон, так что по результату стоит пробежаться глазами.
  • Плюс это ваше слово о стране. Номер с плюсом и кодом не +7 остаётся иностранным и в российскую маску не переписывается. Немецкий +49 30 901820 так и попадёт в отдельный блок.
  • Казахстанские номера уходят к иностранным. Код страны у них тоже семёрка, но дальше идёт ещё одна, а российских кодов на 7 не бывает.
  • Городской номер без кода города в российские не попадёт. Семь цифр вида 123-45-67 уедут в блок иностранных, потому что под шаблон в десять или одиннадцать цифр они не подходят.
  • Добавочные теряются. Из записи «8 (495) 123-45-67 доб. 101» останется только основной номер, добавочный не сохранится нигде.
  • Разделяйте номера запятой или переводом строки. Столбик по номеру в строке разбирается правильно. А вот два номера подряд через один пробел инструмент может слепить в одну длинную цифру и отправить её в иностранные.
  • Иностранные не схлопываются по коду страны. Запись с плюсом и та же запись без плюса посчитаются за два разных контакта, а без плюса номер и вовсе может уехать в российский список.
  • Заголовок блока иностранных копируется вместе со списком. Строка-разделитель попадёт и в буфер обмена, и в файл. Перед импортом снесите её и пустую строку над ней.
  • Инструмент ищет номера по написанию и не проверяет, живые они или нет. Опечатка останется опечаткой и в результате.
  • Записи вида 192.168.0.1 отсекаются: IP-адреса в список не попадут.

Сколько текста выдержит

Ограничения нет, и упереться в него трудно. Выгрузка на десять мегабайт с двумястами тысячами номеров разбирается примерно за полсекунды. Десять тысяч строк не заметит вообще никто.

Вставьте кусок своей выгрузки в поле и посмотрите, сколько уникальных номеров там на самом деле.

Частые вопросы

Что будет с номерами не из России?

Они не приводятся к российской маске, а сохраняются в исходном виде и выводятся отдельным блоком «возможно, иностранные номера». Российским номер считается в двух случаях: одиннадцать цифр с 7 или 8 в начале либо десять цифр без кода, и значащая часть при этом начинается с 3, 4, 8 или 9. Остальное уходит в иностранные: и британский +44 20 7946 0958, и немецкий +49 30 901820, и казахстанские номера, у которых после кода страны идёт вторая семёрка.

Как обрабатывается 11-значный номер, начинающийся с 8?

Первая цифра, 7 или 8, считается кодом страны и отбрасывается. Оставшиеся десять это значащий номер, он и приводится к выбранной маске. Проверка одна: значащая часть должна начинаться с 3, 4, 8 или 9, других кодов в России нет. Поэтому 8 916 123-45-67 и +7 (916) 123-45-67 схлопнутся в один контакт, а не останутся двумя строками.

Сохраняются ли добавочные номера?

Нет. Из записи «8 (495) 123-45-67 доб. 101» в результат уйдёт только основной номер, добавочный потеряется. Если добавочные вам нужны, держите исходный текст под рукой или заранее разнесите номер и добавочный по разным колонкам.

Может ли ИНН или артикул попасть в список телефонов?

Может, но уже реже. Десять цифр подряд считаются телефоном, только если первая из них 3, 4, 8 или 9, поэтому ИНН вида 7707083893 уходит в блок иностранных. А вот артикул, начинающийся с девятки, инструмент всё ещё примет за номер: отличить телефон от счёта по одному написанию нельзя. Если в исходном тексте такие числа есть, пробегитесь по результату глазами перед импортом.

Сколько текста можно вставить за раз?

Ограничения в инструменте нет, и достичь его трудно. Выгрузка на десять мегабайт с двумястами тысячами номеров разбирается примерно за полсекунды, десять тысяч строк не заметны совсем. Так что кладите выгрузку целиком, резать её на части не нужно.

Передаются ли номера куда-то при обработке?

Нет, весь разбор и нормализация идут прямо в браузере на JavaScript, без обращения к серверу. Ни одна строка не уходит на сторону и не попадает в логи, поэтому чужую базу телефонов можно вставлять без риска.

Похожие инструменты

Статьи по теме