2014-07-09 27 views
0

我需要正則表達式:正則表達式僅適用於數字和單點

然後是一個或兩個數字。和一個或兩個數字。

有效表達式:

1 
1.5 
11.5 

無效的表達式:

0.. 
0. 
11. 

我曾嘗試使用以下正則表達式嘗試。

^[0-9]{1,2}([.][0-9]{1,2})?$ 

但它不驗證當我輸入12.或類似的東西。 請幫我解決這個問題。 在此先感謝。

+0

嗨Arijit,當我輸入兩個數字,只有一個點沒有任何一個它不工作數字後點。 –

回答

3

那麼,12.不包括在內。無論是你的規範(點,後跟一個或兩個數字),也不是你的例子,也不是你的正則表達式(事實上,這是你的例子之一無效的表達式)。如果您輸入一個點,則必須遵循數字,因爲點和尾部數字都在同一組中。

你可以做數字可選,太:

^[0-9]{1,2}(\.[0-9]{0,2})?$ 

也就是說,一個點也可以跟隨零位,而不只是一個或兩個。

在JavaScript \d[0-9]是等價的,順便說一下,這樣你就可以縮短了一點:

^\d{1,2}(\.\d{0,2})?$ 
+0

嗨喬伊,正則表達式不應該允許12.或類似的東西。 –

+0

在這種情況下,你的正則表達式其實是正確的,應該沒有問題。無論你在觀察什麼,它都必須在別的地方。 – Joey

+0

但它仍然無法正常工作。 –

相關問題