Библиотека Validator.js представляет собой набор функций для проверки
и валидации строковых данных. В основе API лежит набор независимых
методов, каждый из которых решает одну задачу: проверка формата,
диапазона, структуры или соответствия стандарту. Все функции работают с
типом string, приводя входные данные к строке перед
проверкой.
Основной модуль подключается через импорт:
import validator from 'validator';
или в CommonJS:
const validator = require('validator');
API построено как плоский объект, где каждый метод доступен напрямую:
validator.isEmail('test@mail.com');
validator.isURL('https://example.com');
Большинство функций Validator.js придерживаются единых принципов:
value + '')Некоторые методы принимают дополнительные параметры в виде объекта с настройками, позволяющими изменять поведение проверки.
validator.isEmail(str [, options])
Проверяет соответствие строки стандарту email-адреса.
Основные опции:
allow_display_name — разрешает отображаемое имяrequire_display_name — требует отображаемое имяallow_utf8_local_part — разрешает UTF-8 в локальной
частиignore_max_length — игнорирует ограничение длиныПример поведения:
user@example.com — валидноuser.name+tag@domain.co — валидноinvalid@ — невалидноvalidator.isURL(str [, options])
Проверяет корректность URL-адреса.
Ключевые опции:
protocols — допустимые протоколы (http,
https, ftp)require_protocol — обязательность протоколаrequire_host — наличие хостаallow_underscores — разрешение символа _ в
доменеhost_whitelist / host_blacklist —
фильтрация доменовПример:
https://example.com — валидноftp://files.server.net — валидно при включённом
ftpexample.com — зависит от
require_protocolvalidator.isNumeric(str [, options])
Проверяет, состоит ли строка только из цифр.
Опции:
no_symbols — запрещает знаки +/-locale — локализация чиселПримеры:
"12345" — валидно"-123" — валидно при разрешённых символах"12.3" — невалидно без дополнительных настроекvalidator.isInt(str [, options])
Проверяет целое число.
Опции:
minmaxallow_leading_zeroesПримеры:
"10" — валидно"10.5" — невалидно"001" — зависит от настроекvalidator.isFloat(str [, options])
Проверяет число с плавающей точкой.
Опции:
minmaxlocalevalidator.isBoolean(str [, options])
Допустимые значения:
"true", "false""1", "0""yes", "no"Опции позволяют расширять список допустимых строк.
validator.isAlpha(str [, locale])
Проверяет, содержит ли строка только буквы.
Поддерживаются локали:
en-USru-RU (ограниченно)validator.isAlphanumeric(str [, locale])
Разрешает буквы и цифры без спецсимволов.
validator.isLowercase(str)
validator.isUppercase(str)
Проверка регистра символов без учёта локали.
validator.isLength(str, options)
Проверяет длину строки:
minmaxПример:
validator.isLength('hello', { min: 3, max: 10 });
validator.isUUID(str [, version])
Поддерживаемые версии UUID:
345allvalidator.isDate(str [, options])
Проверка даты в строковом формате.
Опции:
format — ожидаемый форматstrictMode — строгий режимvalidator.isJSON(str)
Проверяет валидность JSON-строки.
Особенности:
validator.isMongoId(str)
Проверяет ObjectId MongoDB (24 hex символа).
validator.isJWT(str)
Проверяет структуру JSON Web Token.
validator.isHash(str, algorithm)
Поддерживаемые алгоритмы:
md5sha1sha256sha512ripemd160validator.isIP(str [, version])
Поддержка:
4 (IPv4)6 (IPv6)0 (оба варианта)validator.isMACAddress(str [, options])
Форматы:
00:1B:44:11:3A:B700-1B-44-11-3A-B7validator.isMimeType(str)
Примеры:
image/pngapplication/jsonvalidator.isSlug(str)
Проверяет SEO-friendly строки:
my-url-titlearticle-2024validator.trim(str [, chars])
Удаляет пробелы или указанные символы по краям строки.
validator.escape(str)
Экранирует HTML-символы:
< → <> → >& → &validator.unescape(str)
Обратное преобразование HTML-сущностей в символы.
validator.blacklist(str, chars)
Удаляет указанные символы из строки.
validator.whitelist(str, chars)
Оставляет только разрешённые символы.
validator.equals(str, comparison)
Строгое сравнение строк.
validator.contains(str, seed [, options])
Проверка наличия подстроки.
Опции:
ignoreCaseminOccurrencesvalidator.matches(str, pattern)
Сравнение с регулярным выражением.
validator.isMobilePhone(str [, locale])
Поддержка множества стран:
ru-RUen-USen-GBzh-CNФорматы зависят от региональных правил.
validator.isPostalCode(str, locale)
Проверка почтовых индексов по странам.
Многие функции поддерживают строгие режимы проверки, которые отключают “гибкое” поведение и требуют полного соответствия стандарту.
Некоторые методы принимают параметр locale,
изменяющий:
Validator.js не навязывает цепочки вызовов, но функции часто комбинируются вручную:
validator.isLength(str, { min: 5 }) &&
validator.isAlphanumeric(str)
Все функции:
boolean или преобразованную строку