rus-validate-utils
v1.0.0
Published
Набор функций для валидации российских форм: имя, телефон, email, пароль и др.
Downloads
120
Maintainers
Readme
rus-validate-utils 🛡️
Набор функций для валидации данных, используемых в российских веб-формах.
Установка
npm install rus-validate-utilsИспользование
ES Modules
import { isValidName, isValidLogin, isValidEmail } from 'rus-validate-utils';
console.log(isValidName('Иванов')); // true
console.log(isValidLogin('user-01')); // true
console.log(isValidEmail('[email protected]')); // trueCommonJS
const { isValidName, isValidLogin } = require('rus-validate-utils');
console.log(isValidName('Петров')); // trueДоступные функции
Валидация строк
| Функция | Описание | Пример |
|---------|----------|--------|
| isValidName(str) | Проверяет имя/фамилию (только кириллица, пробел, тире) | isValidName('Иван') → true |
| isValidLogin(str) | Проверяет логин (латиница, цифры, тире) | isValidLogin('user-1') → true |
| isValidEmail(str) | Проверяет email | isValidEmail('[email protected]') → true |
| isValidPassword(str) | Минимум 6 символов | isValidPassword('123456') → true |
| isValidPhone(str) | Российский номер телефона (+7 или 8) | isValidPhone('+79123456789') → true |
Форматирование
| Функция | Описание | Пример |
|---------|----------|--------|
| formatPhone(str) | Приводит номер к формату +7 XXX XXX XX XX | formatPhone('89123456789') → +7 912 345 67 89 |
| formatName(str) | Капитализирует первую букву | formatName('иванов') → Иванов |
| maskEmail(str) | Маскирует часть email | maskEmail('[email protected]') → u***@mail.ru |
Генерация
| Функция | Описание | Пример |
|---------|----------|--------|
| generatePassword(length) | Генерирует случайный пароль | generatePassword(10) → aB3_kL9xQ2 |
| generateLogin(base, num) | Генерирует логин из имени | generateLogin('ivanov') → ivanov_42 |
Утилиты
| Функция | Описание |
|---------|----------|
| validateForm(data, rules) | Универсальная валидация формы по правилам |
| isEmpty(str) | Проверяет, пустая ли строка |
Пример комплексной валидации
import { validateForm } from 'rus-validate-utils';
const rules = {
name: { required: true, pattern: /^[а-яёА-ЯЁ\s-]+$/, message: 'Только кириллица' },
email: { required: true, pattern: /^[^\s@]+@[^\s@]+\.[^\s@]+$/, message: 'Некорректный email' },
password: { required: true, minLength: 6, message: 'Минимум 6 символов' },
};
const errors = validateForm({ name: 'Иван', email: '[email protected]', password: '123456' }, rules);
console.log(errors); // {} — нет ошибокЛицензия
MIT
