我需要配置我的ExtJs文本字段以接受只能接受正數,負數,整數和小數至2位小數的數字。我試着用maskeRe
和正則表達式/^-?[0-9]\d*(\.\d+)?$/
。但它只接受積極的整數。用戶不應該能夠輸入受限制的字符。它也應該只在第一個地方接受' - ','。'在之間並且只有一次。如何限制ExtJs Textfield只接受使用maskRe的數字。 (應接受正數,負數,整數和小數)
所以應該接受: 10, -10, 10.12, -10.34等
感謝
我需要配置我的ExtJs文本字段以接受只能接受正數,負數,整數和小數至2位小數的數字。我試着用maskeRe
和正則表達式/^-?[0-9]\d*(\.\d+)?$/
。但它只接受積極的整數。用戶不應該能夠輸入受限制的字符。它也應該只在第一個地方接受' - ','。'在之間並且只有一次。如何限制ExtJs Textfield只接受使用maskRe的數字。 (應接受正數,負數,整數和小數)
所以應該接受: 10, -10, 10.12, -10.34等
感謝
更改maskRe
到
maskRe: /[0-9.-]/,
validator: function(v) {
return /^-?[0-9]*(\.[0-9]{1,2})?$/.test(v)? true : 'Only positive/negative float (x.yy)/int formats allowed!';
},
點是你允許一些字符s使用maskRe
(不是值本身)並驗證validator
內的字符串輸入。
圖案的詳細資料:
^
- 串-?
- 一個可選的連字符[0-9]*
- 零個或多個數字(\.[0-9]{1,2})?
- 的
\.
- 點[0-9]{1,2}
- 任何1或2個數字$
- 字符串的結尾。你可以使用這個屬性xtype:'numberfield',它會接受所有類型的數字。對於十進制值,我們可以使用decimalPrecision:2。
試試看,如果代碼不起作用,請給我你的代碼。所以我可以建議你最好的解決方案。
所有最好:)
謝謝@Wiktor,這個工程。但我的要求是用戶不應該能夠輸入限制字符,而不是顯示錯誤信息。 – Harshal
此外,它應該只接受' - '只在第一個地方和'。'在之間並且只有一次。 編輯我的問題。對不完整的要求抱歉。 – Harshal