精度为2的小数的正则表达式是什么?

有效的例子:

123.12
2
56754
92929292929292.12
0.21
3.1

无效的例子:

12.1232
2.23332
e666.76

小数点可以是可选的,也可以包括整数。


当前回答

我在我的项目中尝试了一个。 这也允许带有+ | -符号的数字。

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

其他回答

对于没有千位分隔符的数字,我喜欢这个简单、紧凑的正则表达式:

\d+(\.\d{2})?|\.\d{2}

或者,不限制在2的精度:

\d+(\.\d*)?|\.\d+

后者是匹配的 1 One hundred. One hundred. 100.74 100.7 0.7 7 开市

并且它不匹配空字符串(像\d*.?\ d *会)

这将允许小数取幂和最多2位,

^[+-]?\d+(\.\d{2}([eE](-[1-9]([0-9]*)?|[+]?\d+))?)?$

Demo

我在我的项目中尝试了一个。 这也允许带有+ | -符号的数字。

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

加上我的答案,有人可能会觉得有用,也可能是对的。

function getInteger(int){
  var regx = /^[-+]?[\d.]+$/g;
  return regx.test(int);
}


alert(getInteger('-11.11'));

这招对我很管用:

(-?[0-9]+(\.[0-9]+)?)

第一组是浮点数,第二组是分数。