Проверка номеров телефонов в форме без написания регулярных выражений
Номера телефонов — это поле, в котором чаще всего возникают ошибки. Пропущена цифра, введена буква, номер вставлен с пробелами, международный префикс написан тремя разными способами. Если список нужен для рассылки сообщений или обратных звонков, каждый неверный номер — это человек, с которым вы не сможете связаться, и вы узнаете об этом только тогда, когда сообщение не будет доставлено.
Стандартное решение — это шаблон, также называемый регулярным выражением (regex), который точно определяет, как должен выглядеть корректный номер. Проблема в том, что мало кто из создателей форм умеет их писать. В этой статье рассказывается, как получить правильный шаблон, не создавая его вручную, и что именно этот шаблон будет (или не будет) принимать, чтобы вы могли решить, подходит ли он для вашей формы.
Решите, что вы принимаете
Три вопроса помогут прояснить большинство ситуаций:
- Это национальный мобильный номер или любой номер в мире? У мобильного номера есть известное начало и длина в каждой стране. Международный номер варьируется.
- Нужен ли код страны? Если ответы приходят из одной страны, национальный формат проще для ввода пользователями.
- Разрешены ли пробелы и тире? Для готовых форматов ниже ответ — нет: только цифры. Укажите это в тексте подсказки к вопросу, чтобы люди знали.
Готовые форматы
Рядом с полем для шаблона Помощник по шаблонам предлагает форматы именно для этих целей:
- Мобильный номер. Две настройки: с чего он начинается и общее количество цифр. Если начать с 07 и указать десять цифр, помощник напишет
^07[0-9]{8}$: 07, за которыми следуют ровно восемь цифр. - Международный номер телефона. Две настройки: минимальное и максимальное количество цифр (по умолчанию 8 и 15) и опциональный ведущий
+. Записывается как^\+?[0-9]{8,15}$. - Число фиксированной длины, когда вам просто нужно число определенной длины, и Только цифры, когда важны только сами цифры.
Выберите нужный вариант, настройте параметры и нажмите Использовать это. Шаблон и сообщение об ошибке будут заполнены автоматически.
Проверьте перед публикацией
В том же окне функция Проверить значение позволяет ввести ответ и увидеть, какие форматы его принимают. Протестируйте реальные сценарии:
| Что вы вводите | Мобильный с 07, 10 цифр |
|---|---|
0791234567 |
принято |
079123456 (не хватает одной цифры) |
отклонено |
0791234567abc (буквы после номера) |
отклонено |
079 123 4567 (с пробелами) |
отклонено |
Шаблон должен соответствовать всему ответу целиком, поэтому третья строка не проходит проверку: номер, за которым следуют буквы, не является корректным номером, даже если он начинается с цифр.
Три момента, на которые стоит обратить внимание
Цифры, введенные арабскими символами. Готовые форматы принимают цифры от 0 до 9. Номер, введенный арабскими цифрами (٠٧٩١٢٣٤٥٦٧), будет отклонен, даже если человек прочитает его как тот же самый номер. Это зависит от клавиатуры и настроек телефона, но если ваши респонденты могут использовать другой тип цифр, укажите в подсказке: «вводите номер цифрами от 0 до 9».
Пробелы и тире. 079 123 4567 также будет отклонен. Попросите людей вводить номер без пробелов или, если вы хотите быть более гибкими, напишите свой собственный шаблон в поле.
Правила страны. Форматы являются общими: вы сами выбираете начальные цифры и длину. Pulseform не содержит базу национальных планов нумерации, поэтому перед настройкой проверьте правильное начало и длину для вашей страны, например, у регулятора связи или оператора. Тогда шаблон будет ровно настолько строгим, насколько это необходимо.
Где применяется проверка
Шаблон проверяется по публичной ссылке, на странице заполнения в приложении и при импорте CSV файла (строка с неверным номером пропускается, и об этом сообщается). Проверка не выполняется в приложении Collect, которое полевые команды используют без подключения к сети, так как офлайн-телефон не может надежно оценивать шаблоны. Ответ сборщика данных всегда сохраняется, и если номер не соответствует формату, он помечается, чтобы вы могли отфильтровать эти записи и перезвонить для исправления.
Использование шаблона в другом месте
Приведенные выше шаблоны написаны на обычном синтаксисе регулярных выражений, поэтому вы можете скопировать их в любой инструмент, поддерживающий регулярные выражения. Сначала протестируйте их там с теми же значениями, так как инструменты могут иметь небольшие различия. Если вам нужен только шаблон, наш бесплатный конструктор шаблонов создаст его для вас без необходимости регистрации.
В Pulseform
См. создание формы и правил для полей для получения информации о поле шаблона и помощнике, а также ответы, не соответствующие шаблону для работы с записями из полей. Общая информация представлена в статье проверка данных формы.
Попробуйте на своих данных
Создайте опрос или форму и смотрите результаты по мере поступления ответов.
Начать бесплатный пробный период на 14 дней