Как избежать ошибок при вводе данных в боте?

Просмотров:309

В этой инструкции Светлана Гизатулина рассказала, как использовать регулярные выражения в PuzzleBot. 

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

Обзор настройки регулярный выражений в PuzzleBot

Шаг 1 — Настраиваем проверку номера телефона

Каждый пользователь вводит номер телефона по-разному: с пробелами, дефисами или в скобках. Чтобы привести все номера к единому формату +7 (XXX) XXX-XX-XX, используем регулярное выражение:

^\+7\s?\(?[0-9]{3}\)?\s?[0-9]{3}-?[0-9]{2}-?[0-9]{2}$

Пример: Если номер введен в другом формате, бот подскажет: «Введите номер в формате +7 (ХХХ) ХХХ-ХХ-ХХ».

Проверка номера телефона с помощью регулярного выражения

Проверка номера телефона с помощью регулярного выражения

Шаг 2 — Настраиваем проверку даты рождения

Чтобы дата рождения была введена в формате «ДД.ММ.ГГГГ», используем регулярное выражение:

^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.(19|20)\d{2}$

Пример: Если дата введена неверно, бот предложит: «Введите дату в формате ДД.ММ.ГГГГ».

Проверка даты рожденья с помощью регулярного выражения

Проверка даты рожденья с помощью регулярного выражения

Шаг 3 — Настраиваем проверку ФИО

Чтобы пользователь вводил ФИО с заглавной буквы и разделял слова пробелами, используем регулярное выражение:

^[А-ЯЁ][а-яё]+\s[А-ЯЁ][а-яё]+\s[А-ЯЁ][а-яё]+$

Пример: Если ФИО введено неверно, бот ответит: «Введите ФИО в формате Иванов Иван Иванович».

Проверка ФИО с помощью регулярного выражения

Проверка ФИО с помощью регулярного выражения

Шаг 4 — Настраиваем популярные регулярные выражения для работы

Ниже еще несколько примеров регулярных выражений, которые могут быть полезны для работы с чат-ботами, с описанием их применения.

1. Проверка даты (формат ДД.ММ.ГГГГ)

^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.(19|20)\d{2}$

Описание: Проверяет дату в формате день.месяц.год, где год начинается с 19 или 20. Используем для валидации даты рождения или любой другой даты в подобном формате..

2. Проверка времени (формат ЧЧ:ММ)

^([01][0-9]|2[0-3]):[0-5][0-9]$

Описание: Проверяет, что время введено в формате 24-часового формата, от 00:00 до 23:59.

3. Проверка ИНН (10 или 12 цифр)

^\d{10}$|^\d{12}$

Описание: Проверяет, что ИНН состоит либо из 10, либо из 12 цифр, подходя для ИНН физического или юридического лица.

4. Проверка номера банковской карты (формат XXXX-XXXX-XXXX-XXXX)

^\d{4}-\d{4}-\d{4}-\d{4}$

Описание: Проверяет номер банковской карты в формате 16 цифр, разделенных дефисами.

5. Проверка почтового индекса (Россия, 6 цифр)

^\d{6}$

Описание: Проверяет, что почтовый индекс состоит ровно из шести цифр, как в российском формате.

6. Проверка паспорта (серия и номер, 4 цифры + пробел + 6 цифр)

^\d{4}\s\d{6}$

Описание: Проверяет формат серии и номера паспорта России: 4 цифры серии, пробел, 6 цифр номера.

7. Проверка URL-адреса

^(https?:\/\/)?(www\.)?[a-zA-Z0-9._-]+\.[a-zA-Z]{2,}\/?$

Описание: Проверяет, что URL-адрес начинается с "http://" или "https://", и включает домен и, опционально, поддомен.

Хотите задать вопрос эксперту? Пишите его в комментарии под последним постом в нашем канале, самые интересные попадут на разбор.

Была ли страница полезна?