我是JavaScript新手,我制作了regex来验证例如的十进制值。 (10.12, 100.22, 5.5 etc)
。它接受3位数字和2位小数。我在https://regex101.com/上测试了此正则表达式,效果很好。
/^[0-9]{1,3}+(\.[0-9]{1,2})?$/
但是问题出在我在Vue中使用此正则表达式时,正则表达式中使用的加号(+
)运算符给出了错误:
Invalid regular expression: /^[0-9]{1,3}+(\.[0-9]{1,2})?$/: Nothing to repeat
答案 0 :(得分:3)
在这种情况下,不需要+
就是“一个或多个”,因为您需要精确匹配一个。
在第一部分周围添加圆括号,以匹配整数和小数部分。
var n = '120.50';
var m1 = n.match(/^[0-9]{1,3}(\.[0-9]{1,2})?$/);
var m2 = n.match(/(^[0-9]{1,3})(\.[0-9]{1,2})?$/);
console.log(m1, m2);