Библиотека Validator.js предоставляет набор функций для валидации
строковых значений, ориентированных на проверку форматов данных,
пользовательского ввода и текстовых полей. Среди базовых проверок особое
место занимают методы, связанные с анализом символьного состава строки.
К таким методам относятся isAscii и isAlpha,
которые решают задачи проверки допустимых символов и соответствия
алфавитным ограничениям.
Обе функции работают исключительно со строками и не выполняют преобразований данных — только проверку на соответствие заданным условиям.
Метод isAscii предназначен для проверки, состоит ли
строка исключительно из ASCII-символов.
ASCII (American Standard Code for Information Interchange) включает символы с кодами от 0 до 127:
Любой символ вне этого диапазона (например, кириллица, умляуты, китайские иероглифы, эмодзи) приводит к отрицательному результату проверки.
isAscii(str)
true — если все символы строки находятся в
ASCII-диапазонеfalse — если хотя бы один символ выходит за пределы
ASCIIconst validator = require('validator');
validator.isAscii('Hello123');
// true
validator.isAscii('Hello world!');
// true
validator.isAscii('Привет');
// false
validator.isAscii('café');
// false
validator.isAscii('text?');
// false
Метод используется в случаях, когда требуется строго ограничить ввод базовым набором символов, например:
Метод isAlpha проверяет, состоит ли строка исключительно
из буквенных символов. В отличие от isAscii, здесь
проверяется не кодировка, а принадлежность символов к алфавитам.
Метод оценивает строку как последовательность букв. По умолчанию допускаются только латинские символы, однако поведение может быть расширено через локали.
isAlpha(str [, locale])
str — проверяемая строкаlocale — необязательный параметр, определяющий языковой
наборПо умолчанию допускаются только латинские буквы:
validator.isAlpha('Hello');
// true
validator.isAlpha('Hello123');
// false
validator.isAlpha('Hello world');
// false (из-за пробела)
validator.isAlpha('Привет');
// false
Метод isAlpha может учитывать языковые особенности
алфавитов.
en-US — английский (латиница)fr-FR — французскийes-ES — испанскийru-RU — русский (кириллица)de-DE — немецкийvalidator.isAlpha('Привет', 'ru-RU');
// true
validator.isAlpha('Здравствуйте', 'ru-RU');
// true
validator.isAlpha('Hello', 'en-US');
// true
validator.isAlpha('Héllo', 'en-US');
// false (из-за диакритики)
validator.isAlpha('Bonjour', 'fr-FR');
// true
isAscii проверяет кодировку символовisAlpha проверяет принадлежность к алфавиту| Метод | Что проверяет | Поддержка кириллицы | Поддержка символов с акцентами |
|---|---|---|---|
| isAscii | ASCII-диапазон (0–127) | нет | нет |
| isAlpha | буквы выбранного языка | да (через locale) | зависит от локали |
Используется для ограничения ввода безопасными символами:
function validateUsername(username) {
return validator.isAscii(username);
}
Такая проверка исключает пробелы, кириллицу и спецсимволы.
Применяется при работе с персональными данными:
function validateFirstName(name) {
return validator.isAlpha(name, 'ru-RU');
}
Позволяет учитывать национальные алфавиты.
На практике isAscii и isAlpha часто
используются совместно с другими проверками:
validator.isLength(str, { min: 3, max: 20 }) &&
validator.isAlpha(str, 'en-US')
или
validator.isAscii(str) && !validator.contains(str, ' ')
Такое комбинирование позволяет задавать более строгие правила валидации.
Оба метода по умолчанию возвращают false для пустых
строк:
validator.isAscii('');
// false
validator.isAlpha('');
// false
falseИспользование isAscii и isAlpha позволяет
стандартизировать вводимые данные, минимизировать ошибки при обработке
строк и ограничивать формат данных на уровне бизнес-логики. Валидация на
уровне символов часто является первым этапом проверки перед более
сложными преобразованиями или сохранением данных в систему.