我正在尝试使用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/

10-10 14:23