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)объединяет оба условия.