我觉得我很接近我的正则表达式-9.99到0。
我有
/^[-][0-9]?(\.[0-9][0-9]?)?$/ // does not get the 0 :/
如果我添加| 0则允许20 30等...
答案 0 :(得分:3)
您需要使用括号,使|0
和^
正确使用$
。此外,[-]
与文字-
相同,而\d
是[0-9]
的简写:)
/^(-\d?(\.\d\d?)?|0)$/
如果您正在使用Javascript,虽然将字符串转换为数字更简单(也更快)并从那里开始(假设您也可以允许-3.21312
这样的数字,否则您也可以删除多余的数字):
var str = "-8.57";
if(-10 < +str && +str <= 0){
// Condition passed
}
答案 1 :(得分:1)
不确定你究竟是在追求什么,但是因为你处理数字,为什么不这样做(x
是你的号码):
if(x <= 0 && x >= -9.99)
console.log("OK");