具有2个小数位或整数和范围的正则表达式

时间:2017-02-14 17:34:54

标签: regex

我想用数字验证输入中的pH值,只有一个或两个小数位,或只是一个数字。

我的正则表达式中包含一些错误(输入可以达到100):

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

pH范围仅为1.00至14.00。 使用.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

2 个答案:

答案 0 :(得分:3)

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

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

特别是,看看所有似乎都在通过的单元测试。

答案 1 :(得分:0)

那个表达式从0.00到16.00进行测试并且运行良好,小心一点,只取两位小数或不匹配

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