2017-02-14 156 views
1

我想驗證我的輸入中的一個數字,只有一個或兩個小數位,或只是一個數字的pH值。2小數位數或整數和範圍的正則表達式

我正則表達式的表達式包含一些錯誤在它(輸入可以達到100):

/^([0-9]|1[0-4])+(\.[0-9][0-9]?)?$/ 

pH值範圍只從1.00到14.00。 與0.0或0.00(例如3.00和4.0)的值的範圍(1-14)也被認爲是有效的

有效值

1,1.0%,1.00,2.3,2.12,2.54, 13.22,13.99

無效的值

0,0.99,14.01,1.123

+0

在什麼編程語言,你打算使用它嗎? – Alfabravo

+0

@Alfabravo PHP和Javascript –

+0

爲什麼不問一些關於字符串長度和解析數字的問題,只問一下<14? –

回答

3
/^(([1-9]|1[0-3])(\.\d\d?)?|14(\.00?)?)$/ 

https://regex101.com/r/B9eKXN/1

特別,看單元測試這似乎都傳遞。

+0

它不接受沒有小數點的值,如1 –

+0

你是對的......這已被修復。 – dana

+0

它接受具有諸如1的點的值。(一分) –

0

該表達式是從0.00至測試16.00和它的工作好,要小心受到充分恰好兩個點十進制或它不會匹配

^(([1-9]|1[0-3])\.\d\d)|(14\.00)$ 
相關問題