mask, unmask, isComplete
Чистые функции: работают без DOM — в браузере, на сервере, в тестах. Маску можно передать объектом или строкой-шаблоном.
Сигнатура
ts
function mask(value: string, mask: MaskInput): string
function unmask(value: string, mask: MaskInput): string
function isComplete(value: string, mask: MaskInput): boolean
function isValid(value: string, mask: MaskInput): boolean| Функция | Возвращает |
|---|---|
mask | Отформатированное значение |
unmask | Значение без маски — для данных и базы |
isComplete | Заполнены ли все обязательные позиции |
isValid | Заполнено и правильно по смыслу: дата существует, контрольная сумма сходится — см. Готовые маски |
null и undefined считаются пустой строкой.
Примеры
ts
import { mask, unmask, isComplete } from 'tinyval-mask';
import { phone } from 'tinyval-mask/presets';
mask('89991234567', phone()); // '+7 (999) 123-45-67'
unmask('+7 (999) 123-45-67', phone()); // '79991234567'
isComplete('+7 (999) 123', phone()); // false
isValid('4111 1111 1111 1112', card()); // false — wrong check digit
mask('20261002', '9999-99-99'); // '2026-10-02'ts
// server: normalize phones from any source
const normalized = users.map((u) => ({ ...u, phone: unmask(u.phone, phone()) }));
// '8 (999) 123-45-67', '+7 999 1234567', '9991234567' → '79991234567'См. также
- Маски и валидация
- attach — маска на поле ввода