Полный список валидаторов

Модуль validator.js представляет собой набор функций для проверки и валидации строковых данных, ориентированных на типовые задачи веб-разработки: формы, API-входные данные, пользовательский ввод, внешние интеграции. Все проверки выполняются над строками, поэтому любые значения предварительно приводятся к строковому виду.


isEmpty

Проверяет, является ли строка пустой. Пустыми считаются строки нулевой длины, а также строки, содержащие только пробелы (в зависимости от параметров).

Типичные сценарии:

  • проверка обязательных полей формы
  • валидация входных данных API

Особенность: позволяет учитывать или игнорировать пробелы.


isLength

Проверяет длину строки в заданных границах.

Параметры:

  • min — минимальная длина
  • max — максимальная длина

Используется для:

  • паролей
  • логинов
  • текстовых полей (имя, описание)

contains

Проверяет наличие подстроки внутри строки.

Дополнительно поддерживает опции:

  • чувствительность к регистру
  • нормализация строки

Применяется при:

  • поиске ключевых слов
  • фильтрации текста

equals

Сравнивает две строки на полное совпадение.

Используется в:

  • подтверждении пароля
  • проверке токенов
  • сравнении идентификаторов

Проверка числовых значений

isNumeric

Проверяет, состоит ли строка только из числовых символов.

Особенности:

  • допускает только цифры
  • не учитывает знаки и десятичные разделители

isInt

Проверяет, является ли строка целым числом.

Поддерживает параметры:

  • диапазон значений
  • знаковость (положительные/отрицательные)

Применяется для:

  • идентификаторов
  • счётчиков
  • индексов

isFloat

Проверяет число с плавающей точкой.

Используется при:

  • финансовых расчётах
  • измерениях
  • координатах

isDecimal

Более строгая проверка десятичных чисел с контролем формата.


isCurrency

Проверяет строку на соответствие денежному формату.

Поддерживает:

  • различные валютные обозначения
  • разделители тысяч
  • десятичные знаки

Проверка текстовых форматов

isAlpha

Проверяет, состоит ли строка только из букв.

Опции позволяют учитывать:

  • локали (например, кириллицу)
  • пробелы

Используется для:

  • имён
  • фамилий
  • названий

isAlphanumeric

Проверяет комбинацию букв и цифр без специальных символов.

Применяется для:

  • логинов
  • кодов
  • идентификаторов

isAscii

Проверяет, содержит ли строка только ASCII-символы.


isUppercase / isLowercase

Проверка регистра символов.

Используется для:

  • кодов
  • форматирования данных
  • стандартизации ввода

Проверка форматов идентификаторов и кодов

isUUID

Проверяет строку на соответствие UUID формату.

Поддерживаются версии:

  • UUID v1–v5

Применяется в:

  • распределённых системах
  • базах данных

isJSON

Проверяет, является ли строка валидным JSON.

Особенности:

  • строгий синтаксический разбор
  • не выполняет парсинг структуры данных

isJWT

Проверяет структуру JSON Web Token.

Используется в:

  • аутентификации
  • авторизации API

isHash

Проверяет строку на соответствие криптографическому хэшу.

Поддерживает алгоритмы:

  • MD5
  • SHA-1
  • SHA-256 и другие

isBase64

Проверяет Base64-формат строки.

Применение:

  • передача бинарных данных
  • кодирование файлов

Проверка интернет- и сетевых данных

isURL

Проверяет корректность URL-адреса.

Поддерживает:

  • протоколы http/https/ftp
  • доменные имена
  • порты и параметры

isEmail

Проверяет корректность email-адреса.

Учитывает:

  • доменную часть
  • локальную часть
  • допустимые символы

isIP

Проверяет IP-адрес.

Поддержка:

  • IPv4
  • IPv6

isMACAddress

Проверяет MAC-адрес устройства.


isFQDN

Проверяет полностью квалифицированное доменное имя.


isPort

Проверяет номер сетевого порта.

Диапазон:

  • 0–65535

isDataURI

Проверяет Data URI схему.


Проверка дат и времени

isDate

Проверяет корректность даты.

Поддерживает различные форматы, включая ISO и локальные представления.


isISO8601

Проверяет дату в стандарте ISO 8601.


isAfter

Проверяет, что дата позже указанной границы.


isBefore

Проверяет, что дата раньше указанной границы.


Географические и региональные данные

isLatLong

Проверяет координаты широты и долготы.

Формат:

  • lat, long

isPostalCode

Проверяет почтовый индекс.

Поддерживает различные страны через локали.


isMobilePhone

Проверяет номер мобильного телефона.

Особенности:

  • поддержка региональных форматов
  • гибкая настройка масок

Специальные форматы данных

isMimeType

Проверяет MIME-тип.

Примеры:

  • image/png
  • application/json

isMagnetURI

Проверяет magnet-ссылки (P2P).


isEthereumAddress

Проверяет адреса Ethereum.


isBtcAddress

Проверяет Bitcoin-адреса.


isIdentityCard

Проверяет номера удостоверений личности (в зависимости от страны).


isTaxID

Проверяет налоговые идентификаторы (локалезависимо).


Проверка вхождения и диапазонов

isIn

Проверяет, входит ли значение в список допустимых значений.

Применение:

  • перечисления
  • роли пользователей
  • фиксированные статусы

Дополнительные проверки структуры

matches

Проверка строки по регулярному выражению.

Используется для:

  • сложных форматов
  • кастомных правил валидации

Позволяет реализовать любые нестандартные проверки.


isBoolean

Проверяет булевы значения, представленные строкой.

Поддерживает:

  • true/false
  • 1/0
  • yes/no (в зависимости от настроек)

isEmpty (расширенное поведение)

При расширенной настройке учитывает:

  • пробелы
  • невидимые символы
  • табуляции

Проверка служебных и системных форматов

isMimeType

Повторная категория валидации типов контента используется при обработке файлов и HTTP-заголовков.


isRFC3339

Проверяет дату по стандарту RFC 3339, часто используемому в API.


Итоговая структура функциональности validator.js

Функции библиотеки образуют несколько крупных групп:

  • строковые проверки и сравнения
  • числовая валидация
  • форматы идентификаторов
  • сетевые и интернет-данные
  • даты и временные метки
  • географические и региональные форматы
  • специализированные стандарты данных

Каждая функция ориентирована на узкую задачу и используется как независимый строительный блок для формирования сложной логики проверки входных данных в приложениях различного уровня.