我已经搜索了几个小时但找不到这个,请帮忙。我需要一个 Javascript 正则表达式来验证包含数量值的文本字段。该值可以为零或任何大于零的整数。数字不能以零开头,除非它们是……零。如果数量“字符串”的开头、中间或结尾有任何空格,则不应匹配。
换句话说:“0”<- 应该匹配。 "467"<- 应该匹配。 "098"<- 不应匹配。 "1 3"<- 不应匹配。
到目前为止,我必须使用两个 Reg Exps 并在 Javascript 中对它们进行 OR 操作。这是工作。这是我的代码:
function qtyIsValid(strQty){
var isValid;
var reg1 = new RegExp('^0{1}$'); // <-- This matches a single ZERO and fails if any whitespace anywhere
var reg2 = new RegExp('^[1-9]+$'); // <-- This matches any number greater than zero and fails if any whitespace anywhere
if ( reg1.test(strQty) || reg2.test(strQty) ){
isValid = true;
}else{
isValid = false;
}
return isValid;
}
但是这两个正则表达式可以在 Javascript 中合并为一个吗?
谢谢。
最佳答案
您可以使用这个示例:
r = /^(0|[1-9]\d*)$/
console.log("0".match(r));
console.log("467".match(r));
console.log("098".match(r));
console.log("1 3".match(r));
关于Javascript正则表达式匹配数字零或任何大于零的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41668045/