Javascript ExtJs更改已创建输入的掩码

Javascript ExtJs更改已创建输入的掩码,javascript,extjs,Javascript,Extjs,是否可以更改已创建输入字段的掩码? 如果是,如何进行 { xtype: 'textfield', maskRe: /\d{0,5}/i } 是的,你已经在做了 但是maskRe只适用于新角色。从文档中: 输入掩码正则表达式,用于筛选不匹配的击键(键入的字符)。注意:它不会过滤输入中已有的字符。 这意味着maskRe不能用于特定长度要求;您可以使用maxLength进行此操作 如果您想动态地更改它,那么没有文档记录的方法可以这样做。在6.0.1中,根据代码,使用textbox.maskR

是否可以更改已创建输入字段的掩码? 如果是,如何进行

{
  xtype: 'textfield',
  maskRe: /\d{0,5}/i
}

是的,你已经在做了

但是maskRe只适用于新角色。从文档中:

输入掩码正则表达式,用于筛选不匹配的击键(键入的字符)。注意:它不会过滤输入中已有的字符。

这意味着maskRe不能用于特定长度要求;您可以使用
maxLength
进行此操作

如果您想动态地更改它,那么没有文档记录的方法可以这样做。在6.0.1中,根据代码,使用
textbox.maskRe=newValue就足够了,因为

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();
    }
}

是的,你已经在做了

但是maskRe只适用于新角色。从文档中:

输入掩码正则表达式,用于筛选不匹配的击键(键入的字符)。注意:它不会过滤输入中已有的字符。

这意味着maskRe不能用于特定长度要求;您可以使用
maxLength
进行此操作

如果您想动态地更改它,那么没有文档记录的方法可以这样做。在6.0.1中,根据代码,使用
textbox.maskRe=newValue就足够了,因为

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();
    }
}

我想在飞行中换面具。例如,我更改了我的选项“允许空格字符”。默认情况下,它是false。因此,当我创建输入时,maskRe是“/[a-z]/I”。当我启用该选项时,我需要更改输入的regExp。但我找不到它的存储位置。当ExtJs是最新的时,这很好。我有4.0.2版本,所以它对我不起作用。@Iva您甚至没有尝试过,也没有尝试过阅读4.0.2 ExtJS源代码。你的懒惰帮不了你。它在a中工作,并且filterKeys的源代码在4.0.2和6.0.1之间没有更改。我想动态更改maskRe。例如,我更改了我的选项“允许空格字符”。默认情况下,它是false。因此,当我创建输入时,maskRe是“/[a-z]/I”。当我启用该选项时,我需要更改输入的regExp。但我找不到它的存储位置。当ExtJs是最新的时,这很好。我有4.0.2版本,所以它对我不起作用。@Iva您甚至没有尝试过,也没有尝试过阅读4.0.2 ExtJS源代码。你的懒惰帮不了你。它在a中工作,并且filterKeys的源在4.0.2和6.0.1之间没有更改。