В библиотеке validator.js проверка строк на соответствие алфавитно-цифровому формату относится к базовым операциям валидации входных данных. Под алфавитно-цифровыми значениями понимаются строки, содержащие только буквы и цифры без пробелов, знаков пунктуации и специальных символов. Такая проверка используется при обработке логинов, кодов, идентификаторов, артикулов и других сущностей, где допустим строгий набор символов.
Для выполнения проверки используется метод:
validator.isAlphanumeric(input, locale, options)
input
stringlocale
Тип: string
Определяет набор допустимых символов для буквенной части
Часто используемые значения:
en-USen-GBes-ESfr-FRde-DEru-RUany (расширенный набор Unicode-символов)options
objectПростейший случай — проверка строки без учёта локали:
validator.isAlphanumeric('abc123');
Результат:
true — строка содержит только латинские буквы и
цифрыfalse — присутствуют пробелы или спецсимволыЛокаль определяет, какие буквы считаются допустимыми.
validator.isAlphanumeric('HelloWorld123', 'en-US');
Результат:
truevalidator.isAlphanumeric('Привет123', 'ru-RU');
Результат:
true, если локаль поддерживает кириллические
символыПри использовании en-US кириллица будет считаться
недопустимой:
validator.isAlphanumeric('Привет123', 'en-US');
Результат:
falseОпция ignore позволяет исключить определённые символы из
проверки.
validator.isAlphanumeric('user_name123', 'en-US', {
ignore: '_'
});
Результат:
trueЭто полезно для логинов и технических идентификаторов, где допускается ограниченный набор дополнительных символов.
По умолчанию пробелы не допускаются:
validator.isAlphanumeric('hello world123');
Результат:
falseЕсли требуется разрешить пробел:
validator.isAlphanumeric('hello world123', 'en-US', {
ignore: ' '
});
Результат:
trueПри использовании локали any проверка становится более
гибкой и допускает широкий спектр буквенных символов Unicode.
validator.isAlphanumeric('café123', 'any');
Результат:
trueЭто важно при работе с международными системами, где возможны диакритические знаки и нелатинские алфавиты.
Логины часто ограничиваются буквами и цифрами:
validator.isAlphanumeric(username, 'en-US', {
ignore: '_'
});
Позволяет:
validator.isAlphanumeric(productCode);
Используется для строгих идентификаторов без дополнительных символов.
validator.isAlphanumeric(referralCode, 'en-US');
Гарантирует отсутствие символов, способных нарушить формат передачи данных.
Метод ориентирован на проверку строки целиком. Любые отклонения от допустимого набора символов приводят к отрицательному результату.
Необходимо учитывать:
validator.isAlphanumeric('Москва123');
Без указания локали результат может быть неожиданным в зависимости от конфигурации.
ignorevalidator.isAlphanumeric('user-name_123');
Результат:
false, так как дефис и подчёркивание запрещены по
умолчаниюМетод не подходит для:
Хотя аналогичную проверку можно реализовать через регулярные выражения:
/^[a-z0-9]+$/i.test(value)
использование Validator.js обеспечивает:
validator.isAlphanumeric('');
Результат:
falseПустая строка не считается допустимой даже при формальной алфавитно-цифровой структуре.
На практике часто используется связка методов:
validator.isLength(value, { min: 3, max: 20 }) &&
validator.isAlphanumeric(value, 'en-US', { ignore: '_' });
Это позволяет одновременно контролировать:
Метод оптимизирован для массовой валидации и может применяться в:
При больших объёмах данных предпочтительно минимизировать количество вызовов за счёт предварительной фильтрации.
При работе с пользователями из разных регионов выбор локали становится ключевым фактором:
en-US — строгий латинский наборru-RU — поддержка кириллицыany — универсальный режим с расширенным UnicodeНеправильный выбор локали может приводить к ложным отрицательным результатам даже при корректных данных.
Алфавитно-цифровая проверка часто используется для:
Пример:
validator.isAlphanumeric(apiKey, 'en-US');
Хотя метод не предоставляет полноценной настройки алфавита,
комбинация ignore и локалей позволяет моделировать гибкие
правила.
Пример допуска дефиса и подчёркивания:
validator.isAlphanumeric(value, 'en-US', {
ignore: '-_'
});