2

我觉得我非常接近我的正则表达式 -9.99 到 0。

我有

/^[-][0-9]?(\.[0-9][0-9]?)?$/ // does not get the 0 :/

如果我添加 |0 那么它允许 20 30 等...

4

2 回答 2

3

您需要括号才能|0正确使用^and $。也[-]与文字相同-,并且\d[0-9]:)的简写

/^(-\d?(\.\d\d?)?|0)$/

如果您使用 Javascript,尽管将字符串转换为数字并从那里开始会更简单(更快)(假设您也可以允许数字-3.21312,否则您也可以去掉多余的数字):

var str = "-8.57";
if(-10 < +str && +str <= 0){
    // Condition passed
}
于 2012-06-15T19:15:55.773 回答
1

不确定您到底在追求什么,但既然您处理数字,为什么不这样做(x您的数字在哪里):

if(x <= 0 && x >= -9.99)
   console.log("OK");
于 2012-06-15T19:16:23.417 回答