我正在尝试使用RegExp验证一个数字,该数字最多可以包含5个数字,而后跟一个选项的小数位。像48293或23.4都不错。 99.99或453543不是。我写了以下函数:
function validateLoad(load_value) {
var matchValue = new RegExp('[0-9]{1,5}(\.[0-9]{1})?')
return matchValue.test(load_value)
}
但是,对于所有数值似乎都返回true,有人可以告诉我如何解决此问题吗?
最佳答案
您需要使用anchors来确保整个字符串(而不仅仅是子字符串)与正则表达式匹配。另外,如果您从字符串构造正则表达式,也不要忘记将反斜杠加倍(放下{1}
,这是一个禁忌):
var matchValue = new RegExp('^[0-9]{1,5}(\\.[0-9])?$');
关于javascript - Javascript Regex验证无法退出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20106535/