Главная chevron_right Функции chevron_right Символы chevron_right isAlphaNumeric()

isAlphaNumeric()

isAlphaNumeric(thisChar) проверяет, является ли символ латинской буквой или цифрой, и возвращает true — иначе char.

Полная статья

Описание

Функция isAlphaNumeric(thisChar) проверяет, относится ли переданный символ к буквенно-цифровым — то есть является ли он латинской буквой (A–Z, a–z) или цифрой (0–9). Это удобно, когда нужно отфильтровать пользовательский ввод, разобрать строку по символам или проверить, что данные пришли в ожидаемом формате.

Функция возвращает true, если символ — буква или цифра, и false — для всего остального: пробелов, знаков препинания, управляющих символов и т. д.

Синтаксис

isAlphaNumeric(thisChar)

Параметры

thisChar: символ, который нужно проверить. Тип данных: char.

Возвращает

true, если символ является буквой или цифрой; false — в противном случае.

Пример кода

char myChar = '3'; // попробуйте с '#' — неалфавитно-цифровым символом 

void setup() {
  Serial.begin(9600);

  if (isAlphaNumeric(myChar)) {  // проверяет, является ли myChar буквой или цифрой
    Serial.println("The character is alphanumeric");
  } else {
    Serial.println("The character is not alphanumeric");
  }
}

void loop() {
}

Где применяется

  • Разбор пользовательского ввода через Serial — отбрасывать пробелы, переносы строк и спецсимволы, оставляя только значимые символы.
  • Валидация токенов и идентификаторов — проверить, что введённое имя состоит только из букв и цифр, без недопустимых символов.
  • Парсинг текстовых протоколов — при разборе ответов от GPS-модулей, GSM-модемов или других устройств, когда нужно выделить числовые и буквенные поля.
  • Фильтрация данных с клавиатуры — принимать нажатия только тех клавиш, которые соответствуют буквам и цифрам.

Практические замечания

  • Функция работает с символами ASCII: латинские буквы и цифры дают true, кириллица и символы с диакритикой — false.
  • Пробел, \n, \r, !, @, # и другие спецсимволы возвращают false — это ожидаемое поведение, а не ошибка.
  • Если вы читаете символы через Serial.read(), помните, что она возвращает int: значение -1 означает, что данных пока нет. Проверяйте это перед передачей символа в isAlphaNumeric().
  • Функция не блокирует выполнение программы — она мгновенно возвращает результат.
  • Для проверки только букв используйте isAlpha(), только цифр — isDigit(). isAlphaNumeric(thisChar) объединяет оба условия.

Полезные материалы