在Ext JS中,以下maskRe
不起作用,因为它不会将最多5个字符的限制放在文本字段上,为什么?extjs输入文本maskRe
{
xtype: 'textfield',
fieldLabel: '* Zip Code',
allowBlank: false,
maskRe: /\d{0,5}/i
}
在Ext JS中,以下maskRe
不起作用,因为它不会将最多5个字符的限制放在文本字段上,为什么?extjs输入文本maskRe
{
xtype: 'textfield',
fieldLabel: '* Zip Code',
allowBlank: false,
maskRe: /\d{0,5}/i
}
我不熟悉maskRe,但我的猜测是,你需要anchor正则表达式:
maskRe: /^\d{0,5}$/
你不使用maxLength
配置的任何原因?为确保数值,您可以使用NumberField
而不是TextField。
如果您需要更复杂的正则表达式,不仅仅是允许的字符的列表中,你需要使用“V型” http://www.extjs.com/forum/showthread.php?43510-TextField-and-MaskRe&p=206015#post206015
由相同的昨天确认,不得不:-)
类似的问题你弄错maskRe与正则表达式。正则表达式将验证整个字符串,maskRe将过滤字符输入。因此在正则表达式中指定完整的验证正则表达式,并在maskRe中仅指定允许使用字符的字符类 - 如果您不希望用户输入AAAAA只是为了告知它是错误的,这不是必需的,但是很有用。
我不会使用NumberField,因为您试图验证的不是真正的数字,而是数字代码,并且不允许使用负数。另外,为什么不准许5个字符,而不是0-5个字符?这也不允许使用空格,所以allowBlank:false是不必要的。
试试这个
regex: /^\d{5}$/i,
maskRe: /\d/i
HTH
跨张贴在这里http://www.extjs.com/forum/showthread.php?t=96609 – 2010-04-09 01:26:57
是否'maskRe'支持'i'修改?尝试没有。 – 2010-04-09 01:28:38