我正在尝试对一个数字使用 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 正则表达式验证不太有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20106535/