2009-12-02 93 views
1

後,我想從用戶的用戶輸入的文本框,但我需要驗證它限制用戶輸入decimel之前超過7個位數和3 decimel

1.It應該不會超過7 decimel前位

2.it decimel後應該不會超過3個位數

我竟然想通了,第二部分,,但是第一部分仍然是一個問題 我的正則表達式爲:

/^([0-9]{0,7})+(\.[0-9]{1,3})?$/ 

告訴我在哪裏要去錯

推薦一個有效的正則表達式

回答

0

/^\d{1,7}\.\d{1,3}$/

這將與1-7位點1-3位。要麼是整數還是小數? .333或333是否有效?

3

你不需要加了,我會用\d代替[0-9],但我不知道這是任何更快:

/^\d{0,7}(\.\d{1,3})?$/ 

您正則表達式失敗的原因是,你有+在第一次測試後簽字,意思是「一次或多次比賽」。所以它正在尋找一組或多組[0-9]{0,7}這將匹配小數點前的任何數量的字符。