在Ext JS中,以下maskRe不起作用,因为它没有在文本字段上放置最多5个字符的限制,为什么?
{ xtype: 'textfield',fieldLabel: '* Zip Code',allowBlank: false,maskRe: /\d{0,5}/i }
解决方法
@H_502_16@ 昨天进行了相同的验证并遇到了类似的问题:-)你是用正则表达式掩盖了maskRe.正则表达式将验证整个字符串,maskRe将过滤char输入.因此,在正则表达式中指定完整的验证正则表达式,并且只在maskRe中指定允许使用字符的字符类 – 这不是必需的,但如果您不希望用户键入AAAAA只是为了被告知它是错误的,则会有所帮助.
我不会使用NumberField,因为您尝试验证的不是数字,而是数字代码,不允许使用负数.另外,不是允许0-5个字符,为什么不允许5个字符?这也不允许使用blanktext,因此不需要allowBlank:false.
试试这个
regex: /^\d{5}$/i,maskRe: /\d/i
HTH