![](/img/trans.png)
[英]number with decimal places to allow commas in regular expression validation
[英]regular expression for number with decimal places
誰能幫我建立一個正則表達式來驗證2位小數的6位數字? 這些例子應該通過測試
0, 0.0, 0.33, 1, 11, 111, 1111, 11111, 111111
1.33, 1.3, 12.33, 12.3, 123.0, 123.33, 1234.0, 1234.11
嘗試了這個:
/^\d{1,4}(\.\d{1,2})?$/
但是當按下。(點)時它在jquery中失敗
嘗試使用正則表達式:/ /^\\d{1,6}(\\.\\d{1,2})?$/
. /^\\d{1,6}(\\.\\d{1,2})?$/
。 注意:您需要轉義點。
如果您要求的位數總數(包括小數點后的位數)最多為6,則正則表達式將為:/ /^(?!.{8,})\\d{1,6}(\\.\\d{1,2})?$/
8, /^(?!.{8,})\\d{1,6}(\\.\\d{1,2})?$/
。 該表達式添加了一個負的超前字符?!.{8,}
,這將排除那些長度大於7的數字。
更新:如@Christoph所指出的,應排除“ 01.23”,然后上述兩個表達式應為/^([1-9]\\d{0,5}|0)(\\.\\d{1,2})?$/
和/^(?!.{8,})([1-9]\\d{0,5}|0)(\\.\\d{1,2})?$/
。
當您按點時,它后面沒有數字,並且您的正則表達式失敗。 因此,您可以嘗試使用此正則表達式/^\\d{1,6}(\\.\\d{0,2})?$/
來允許這種情況,但是請注意,用戶將能夠輸入類似於12345.
數字12345.
DOT是一個特殊字符,需要進行轉義。 您應該使用“ \\”。
最簡單的方法是首先使用適當的jquery函數檢查String的長度是否小於7(6位數字和1個點)。 這與長度有關。
然后對於正則表達式,您只需要檢查它最多具有2個小數位即可使用:/ /^\\d{1,6}(\\.\\d{1,2})?$/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.