Javascript正则表达式匹配数字零或任何大于零的整数

标签 javascript regex expression

我已经搜索了几个小时但找不到这个,请帮忙。我需要一个 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/

相关文章:

javascript - 空格导致正则表达式捕获地址时出现问题

C 编译器在表达式中的前/后增量求值

javascript - 如何将原始二进制数据从 PHP 脚本传递到 JavaScript ArrayBuffer?

javascript - 当另一个字段值更改时,如何使用 jQuery 更改字段

python - 如何使用否定先行删除两个字符之间的搜索

javascript - 修改特定文本的值

javascript - 使用回车键的两个数字的百分比有效

javascript - 将事件绑定(bind)到父级时如何检测输入类型

c++ - 打印表达式树

ruby - begin block 的值是如何确定的?