在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