❖ Мышка-программышка в стране Информатике ❖ Друг — это тот, кто тебя знает, но всё равно любит
Полноценного наложения маски ввода на текстовое поле в стандартных средствах Экста нет (во всяком случае, в версии 3.3). Конечно, ничто не мешает написать собственный компонент наподобие дельфиевского MaskEdit — но это если есть время. А если нужна хотя бы минимальная проверка в момент ввода, то можно просто отфильтровать набор вводимых символов.

Итак, в экземплярах класса Ext.form.TextField и его потомков пользуемся такими свойствами:

maskRe : фильтрует непосредственно нажатия клавиш, и разрешает ввод только тех символов, которые разрешены заданным регулярным выражением — то есть эта проверка производится до валидации
stripCharsRe : фильтрует набранный текст опять-таки посимвольно, но уже после набора строки, и удаляет символы, соответствующие заданному здесь регулярному выражению — тоже проверяет текст до валидации
regex : регулярное выражение, по которому и производится валидация — проверке подвергаются не отдельные символы, а именно весь введённый в поле текст

Коротко: regex будет проверять всю строку, maskRe — ввод каждого отдельного символа. maskRe определяет разрешённые символы, stripCharsRe — запрещённые.

Например:

в поле должно быть ровно пять цифровых символов — определяем такие свойства:
regex: /^\d{5}$/i,
maskRe: /\d/i

разрешить в поле только спец. символы:
stripCharsRe: /[a-zA-Z0-9]/ig

Ссылки в тему: ать, два.

@темы: Суровые будни айтишника, Ext JS, JavaScript, Ссылки