29.10.10 (последнее изменение 02 ноября 2010)
Маскирование
Как проверить значение поля формы на соответствие регулярному выражению.
Существуют различные плагины (masked input plugin, meioMask), позволяющие применить маску к полю формы. Но такая маска обладает одним недостатком — она привязывает к полю шаблон с фиксированным количеством символов. С помощью таких плагинов нельзя, например, создать поле для ввода десятичного числа с любым количеством знаков до и после запятой.
Возникла потребность прикрутить к полю формы именно регулярное выражение. Идея реализации простая — по мере ввода проверять содержимое на соответствие заданному регулярному выражению и применять к полю один из трех классов «editing», «match», «notmatch». Класс привязывается не к самому полю, а к одному из врапперов — по вкусу. Далее с помощью таблицы стилей класс отображается в соответствии со статусом.
Как можно догадаться из описания, данный плагин не является усовершенствованием упомянутых плагинов, он является альтернативой.
Скопируйте себе этот код и он должен сразу заработать.
Несколько слов о настройках.
- re — обязательный ключ, его значение — регулярное выражение
- editingClass — строка, название класса для враппера в процессе печати, по-умолчанию ‘editing’
- matchClass — строка, название класса для враппера когда текст соответствует регулярному выражению, по-умолчанию ‘match’
- notmatchClass — строка, название класса для враппера когда текст НЕ соответствует регулярному выражению, по-умолчанию ‘notmatch’
- checkInterval — число, интервал в миллисекундах для проверки соответствия текста регулярному выражению, по-умолчанию 500
- remainEditing — число, интервал в миллисекундах между прекращением редактирования и появлением статуса notmatch, по-умолчанию 3000