正则表达式模式,表示介于-20和150之间的任何整数(包括最多2个小数),例如36.50

时间:2019-06-14 12:44:25

标签: javascript regex

想要为-20到150之间的任何整数生成正则表达式,包括最多2个小数 例如36.50 最大值150.00 和最小值-20.00

到目前为止已经尝试过了,但是也包括-20.78和150.04。 我想将其限制为150.00和-20.00

^((\-([1-9]|1[0-9]|20)(\.\d{2})?)|([0-9]|[1-8][0-9]|9[0-9]|100)(\.\d{2})?)$

你能帮我吗?

2 个答案:

答案 0 :(得分:2)

我投票赞成仅使用不等式,以及简单的正则表达式检查来断言没有十进制成分要比hundreths更精确:

var input = "10.35";
if (input >= -20 && input <= 150 &&
    /^-?\d+(?:\.\d{1,2})?$/.test(input)) {
    console.log("MATCH");
}

答案 1 :(得分:0)

尝试一下, 而不是将其他所有内容都取20

^((\-([1-9]|1[0-9])(\.\d{2})?)|((\-(20)(\.(00))|([0-9]|[1-8][0-9]|9[0-9]|100)(\.\d{2})?)$