使用REGEx允许零数字

时间:2014-05-22 10:31:08

标签: regex

我有一个Regexp,它可以很好地用于正数,但是当用户输入0时也希望它也可以工作?如何做到这一点?我试图学习如何做到目前为止没有任何成功

Regexp:^(?!(?:0|0\.0|0\.00)$)[+]?\d+(\.\d|\.\d[0-9])?$

编辑我很抱歉可能不够清楚

我希望它接受所有正值到2位小数但我也希望它只接受数字零

像: 0 0.0 0.00 1.25 1.2 并且不接受-0.01以下的任何内容

4 个答案:

答案 0 :(得分:0)

您可以删除否定前瞻:

^[+]?\d+(\.\d\d?)?$

答案 1 :(得分:0)

我认为你有一个问题,因为前瞻性负面,请看this

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

但您可以像so一样进一步简化它:

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

答案 2 :(得分:0)

根据您的要求,我想出了这个:

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

这是你在找什么?

上面的正则表达式将所有正小数与两个小数位匹配,带或不带'+'符号或前导整数,以下是一些样本不匹配的情况。

1.324
3.
-23.1

答案 3 :(得分:-1)

^-?[0-9]+$如果您想强制-为负数,而不是+为正数。

^-?[0-9]+.?[0-9]*$也是小数部分。