В Inputmask конфигурация определяет поведение маски на всех этапах взаимодействия с полем ввода: от первичного рендера до завершения ввода, вставки из буфера и программного изменения значения. Почти каждое свойство влияет либо на визуальное представление, либо на логику обработки символов, либо на жизненный цикл значения внутри поля.
Основной параметр, задающий структуру ввода.
"999-999-9999",
"+7 (999) 999-99-99"9 (цифра), a (буква),
* (алфавитно-цифровой символ)Фактически mask определяет шаблон, по которому Inputmask
строит поведение каждого символа.
Позволяет использовать предустановленные шаблоны.
"phone""datetime""email""decimal"При использовании alias библиотека подменяет набор
конфигурационных свойств на заранее определённый профиль. В дальнейшем
эти параметры могут быть переопределены вручную.
Альтернативный способ задания маски через регулярное выражение.
Используется для динамических или нестандартных сценариев, где классическая позиционная маска недостаточна.
Особенность: при regex-режиме поведение становится менее
позиционно-строгим, но более гибким.
Определяет символы-заполнители внутри маски.
"_", "•"""Placeholder влияет только на визуальный слой и не участвует в логике валидации.
Определяет, будет ли маска отображаться при фокусе на поле.
true — маска появляется при фокусеfalse — маска скрыта до вводаУправляет отображением маски при наведении курсора.
Используется для UI, где важно минимизировать визуальный шум.
Определяет поведение поля при потере фокуса.
true — маска сохраняетсяfalse — отображается только введённое значениеКонтролирует «жадность» маски — заполнение необязательных частей.
true — маска занимает всю доступную длинуfalse — сокращается до фактического вводаОсобенно важно для динамических масок, где часть шаблона опциональна.
Just-in-time masking: маска применяется по мере ввода, а не заранее.
Определяет, фиксируется ли структура маски при неоднозначных шаблонах.
true — структура остаётся стабильнойfalse — Inputmask может перестраивать варианты
маскиИспользуется в сложных масках с альтернативными ветвлениями.
Кастомизация символов маски.
Позволяет переопределять поведение стандартных токенов:
definitions: {
'#': { validator: "[0-9]", cardinality: 1 },
'X': { validator: "[A-Fa-f0-9]", cardinality: 1 }
}
Ключевое свойство для расширения системы масок без изменения базовой логики библиотеки.
Определяет, в каком виде значение возвращается из input.
true — возвращается «чистое» значение без маскиfalse — возвращается отформатированное значениеИспользуется при интеграции с формами и API.
Очищает поле, если ввод не завершён.
true — незавершённые значения удаляютсяfalse — сохраняются даже неполные данныеКритично для форм с обязательной валидацией.
Позволяет трактовать пустую маску как null.
true — пустое значение становится
nullfalse — остаётся пустой строкойИспользуется при строгой типизации данных.
Очищает маску при потере фокуса, если ввод не завершён.
Отличается от showMaskOnLeave тем, что влияет на само
значение, а не только на отображение.
Определяет позицию курсора при клике.
"none" — фиксированная позиция"lvp" — логика последнего валидного символа"radixFocus" — фокус на разделителе (для чисел)Управляет режимом вставки символов.
true — вставка сдвигает остальные символыfalse — замена символовВизуальная модель вставки.
Позволяет отделить внутреннюю логику от отображения при редактировании.
Разрешает сдвиг символов при редактировании.
Ключевое свойство для масок с динамическим заполнением.
Принудительное изменение регистра вводимых символов.
"upper" — верхний регистр"lower" — нижний регистр"none" — без измененийПрименяется постфактум ко всем введённым символам.
Определяет виртуальную клавиатуру на мобильных устройствах.
"text""numeric""decimal""tel"Не влияет на логику Inputmask, но улучшает UX.
Срабатывает при полном заполнении маски.
Используется для автоматической отправки или перехода к следующему полю.
Срабатывает при потере фокуса с незавершённым вводом.
Позволяет реализовать мягкую валидацию.
Срабатывает при полном очищении поля.
Позволяет изменить значение до применения маски.
Используется для нормализации входных данных.
Обрабатывает значение из буфера обмена перед вставкой.
Позволяет очищать лишние символы, форматировать номера, удалять пробелы.
Вызывается перед записью значения в input.
Один из ключевых хук-событий для кастомной логики трансформации данных.
Позволяет выполнять дополнительную проверку после применения маски.
Используется, когда стандартных правил недостаточно.
Пример сценария — проверка диапазонов дат или сложных кодов.
Логическое свойство состояния маски.
Возвращает факт завершённости ввода в соответствии с шаблоном.
Определяет символ, который пропускает необязательные части маски.
Часто используется для ускоренного ввода в длинных шаблонах.
Хотя не всегда явно конфигурируется, Inputmask учитывает историю
изменений при включённых режимах редактирования, что зависит от
комбинации insertMode, shiftPositions и
greedy.
Конфигурация Inputmask редко работает через отдельные свойства. Чаще всего поведение формируется комбинацией:
mask + definitions формируют структуру допустимых
символовgreedy + keepStatic определяют динамичность
шаблонаautoUnmask + clearIncomplete управляют финальным
значениемinsertMode + shiftPositions задают модель
редактированияonBeforePaste + onBeforeWrite формируют входной поток
данныхИменно взаимодействие этих параметров определяет итоговое поведение маски в реальных интерфейсах, а не отдельные свойства по отдельности.