Как избежать ошибок при вводе данных в чат-боте? Используем регулярные выражения в PuzzleBot

Случалось ли вам сталкиваться с некорректным вводом данных? Например, пользователи указывают некорректный номер телефона, дату в произвольном формате, а вместо ФИО только имя? Такие ошибки затрудняют обработку данных и создают дополнительные сложности.
Решение простое — регулярные выражения. В этой статье я покажу, как настроить проверку данных в PuzzleBot, используя регулярки.

Как избежать ошибок при вводе данных в чат-боте? Используем регулярные выражения в PuzzleBot

Привет! Меня зовут Светлана, я специалист по чат-ботам для Telegram. Своим опытом и кейсами делюсь на канале: «Чат-боты для экспертов и бизнеса». Рассказываю, как с помощью ботов автоматизировать рутину, улучшить обслуживание и увеличить доход. Разбираю важные аспекты, чтобы ваши чат-боты работали на ваш бизнес.

Оглавление

Что такое регулярные выражения и зачем они нужны?

Регулярные выражения (регулярки) — это шаблоны, которые помогают автоматизировать проверку данных. Они позволяют боту убедиться, что введённые пользователем данные соответствуют заданному формату

Преимущества:

  • Корректные данные: бот пропустит только правильно оформленную информацию.
  • Экономия времени: автоматическая проверка исключает необходимость ручной обработки.
  • Удобство: пользователь сразу получает подсказку, если ввел данные с ошибкой.

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

Если вы не знаете, как составить регулярное выражение, используйте нейросети, например, ChatGPT. Просто отправьте запрос:
«Создай регулярное выражение для проверки email-адресов на домене @gmail.com»

Результат:

^[a-zA-Z0-9._%+-]+@gmail\.com$

Регулярное выражение проверяет:

  • Локальную часть email (буквы, цифры, символы ._%+-).
  • Доменная часть обязательно заканчивается на @gmail.com
Настройка регулярных выражений в PuzzleBot 
Настройка регулярных выражений в PuzzleBot 

Как настроить регулярные выражения в PuzzleBot?

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

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

Проверка номера телефона

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

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

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

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

Проверка даты рождения

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

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

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

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

Проверка ФИО

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

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

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

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

Популярные регулярные выражения для работы

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

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://", и включает домен и, опционально, поддомен.

Заключение

Регулярные выражения — это мощный инструмент, который упрощает работу с данными. Они делают работу с ботом удобной и исключают ошибки. Настройте их прямо сейчас, чтобы ваши боты работали эффективно и радовали пользователей!

Спасибо, что дочитали статью до конца!

Если хотите больше полезных материалов, подписывайтесь на мой канал «Чат-боты для экспертов и бизнеса». Буду рада вашим вопросам и комментариям 👇

1717
55
11
39 комментариев

Если номер введен в другом формате, бот подскажет: «Введите номер в формате +7 (ХХХ) ХХХ-ХХ-ХХ»А почему нужно грузить пользователя? Вроде давно считается тру вариантом программное приведение введенных данных к нужному формату.

1

Соглашусь с коллегой. У меня номер тел вводят как угодно. Далее я убираю все символы кроме цифровых и беру 10 символов справа. Всё номера теперь в нужном мне формате.

2

Вы имеете ввиду поделиться номером через кнопку, когда автоматом считывается и пишется в одном формате? или какую-то другую настройку?

Я вот через GPT и создаю, но он не всегда прав, бывает с 15й попытки соображает, как надо))

1

да, есть такое 😅 я с ним даже спорю в таких случаях

но GPT все равно выручает сильно и с регулярками и формулами для Excel - полезная штукунция как ни крути, жаль оплачивать нужно через третьих лиц 😔

1

привет, а почему в Puzzle Bot работаете, а не в Salebot?

1

почему вы решили, что я не работаю с Salebot 😅

я работаю с несколькими конструкторами, просто PuzzleBot мне милее, чаще всего проекты на нем делаю, потому что ботов настраиваю только для телеграм, а он в этом плане самый удобный и понятный, на мой взгляд❤️

1