Как сделать проверку на введение символов?

Ссылка скопирована
1 ответ

Пользователь вводит значение, которое запрашивается в сообщении. Если ввел цифровое значение, то бот переходит на следующий этап. При попытке ввести текст, должно произойти информирование пользователя и откат на предыдущий пункт. Как это сделать? isalpha и isdigit пробовал, бот не обрабатывает условия.

Код

# Указываем возраст def start_age(message):     global age     age = bot.send_message(message.chat.id, 'Укажите возраст (лет)')     bot.register_next_step_handler(age, save_weight)   # Указываем вес def save_weight(message):     global age     global weight      age = float(message.text)      weight = bot.send_message(message.chat.id, 'Укажите вес (кг)')     bot.register_next_step_handler(weight, save_growth)

# Указываем возраст def start_age(message): global age age = bot.send_message(message.chat.id, 'Укажите возраст (лет)') bot.register_next_step_handler(age, save_weight) # Указываем вес def save_weight(message): global age global weight age = float(message.text) weight = bot.send_message(message.chat.id, 'Укажите вес (кг)') bot.register_next_step_handler(weight, save_growth)

Дополнительно:

когда я вижу global в боте для хранения состояний пользователя, я делаю /)_-)

  • Everything_is_bad, подскажите, как правильно сохранять?
  • White_Bambie, во-первых, разделение между разными пользователями, вот что будет когда в твой бот будут писать сразу несколько людей? во-вторых, лучше внешнее хранилище, например база данных, потому что между перезапусками бота, все данные будут утеряны
  • try
    except

    вопрос закрыт!

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Виктор Sys Ответ

    Для проверки на введение символов в PHP вы можете использовать функцию preg_match(). Эта функция позволяет проверять строку на соответствие определенному шаблону с использованием регулярных выражений.

    Пример использования функции preg_match() для проверки на введение только буквенных символов:

    $input = "example";
    if (preg_match("/^[A-Za-z]+$/", $input)) {
        echo "Строка содержит только буквенные символы";
    } else {
        echo "Строка содержит другие символы кроме букв";
    }

    $input = "example"; if (preg_match("/^[A-Za-z]+$/", $input)) { echo "Строка содержит только буквенные символы"; } else { echo "Строка содержит другие символы кроме букв"; }

    В данном примере регулярное выражение "/^[A-Za-z]+$/", означает следующее:
    - "^" - начало строки
    - "[A-Za-z]" - любая буквенная буква (верхнего или нижнего регистра)
    - "+" - один или более раз
    - "$" - конец строки

    Таким образом, если в переменной $input содержатся только буквенные символы, то условие preg_match() вернет true и будет выведено сообщение "Строка содержит только буквенные символы". В противном случае будет выведено сообщение "Строка содержит другие символы кроме букв".

    Вы можете изменить регулярное выражение в соответствии с вашими требованиями, чтобы проверять на другие типы символов, например цифры, специальные символы и т.д. Надеюсь, это поможет вам решить вашу проблему с проверкой на введение символов в PHP.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно