零值或空值的正则表达式

时间:2011-02-04 15:13:14

标签: regex

有人可以告诉我正则表达式 检查值是0.0还是00.00并且它是正值。

4 个答案:

答案 0 :(得分:2)

这应该有效:

/^0*(\.0+)$?/

0        -> true
.0       -> true
.000     -> true
.001     -> false
.01      -> false
1.0000   -> false
0.000000 -> true
1.1100   -> false

注意:此正则表达式假设没有像+0.00这样的结构;如果你需要这样的东西,请使用:/^\+?0*(\.0+)$?/ 。另外,如果你问我,你应该parseFloat(str) === 0.0等同于你的语言。

答案 1 :(得分:1)

/^\+?0+(\.0+)?$/

应该这样做。

(我知道0不能是正面的或负面的,但我觉得检查一个积极的迹象是好的,以防万一)

答案 2 :(得分:0)

这将根据要求正好匹配0.0和00.00。但是,如其他答案所述,检查未定义的零值是个好主意。

/^0{1,2}\.0{1,2}$/

答案 3 :(得分:0)

不能说这比已经提出的更好,但这是一种不同的方法:

 $r = "^[^-0.]"
 "0.0" -notmatch $r
 "00.00" -notmatch $r
 "-1" -notmatch $r
 "1" -notmatch $r

 True
 True
 True
 False