是否可以更改已创建输入字段的maskRe? 如果是,怎么样?
{
xtype: 'textfield',
maskRe: /\d{0,5}/i
}
答案 0 :(得分:0)
是的,你已经在做了。
但maskRe仅适用于新角色。来自文档:
一个输入掩码正则表达式,用于过滤不匹配的击键(正在键入的字符)。注意:它不会过滤输入中已有的字符。
这意味着maskRe不能用于一定的长度要求;你可以使用maxLength
。
如果您想动态更改它,则没有记录的方法可以这样做。在6.0.1中,根据代码,使用textbox.maskRe = newValue
就足够了,因为filterKeys
function如下所示:
filterKeys : function(e){
/*
* Current only FF will fire keypress events for special keys.
*
* On European keyboards, the right alt key, Alt Gr, is used to type certain special characters.
* JS detects a keypress of this as ctrlKey & altKey. As such, we check that alt isn't pressed
* so we can still process these special characters.
*/
if ((e.ctrlKey && !e.altKey) || e.isSpecialKey()) {
return;
}
var charCode = String.fromCharCode(e.getCharCode());
if (!this.maskRe.test(charCode)) {
e.stopEvent();
}
}