js test正则表达式遇到一个诡异的问题

    let reg=/^$|^[1-9]\d*$/;

    if(!reg.test(course1)){

      showToast.msg('套餐1只能输入非零正整数');

      return false;

    }

    if(!reg.test(course2)){

      showToast.msg('套餐2只能输入非零正整数');

      return false;

    }

    

上面这样写正则可以起作用,写成下面这样正则就失效了,输入字母什么的也能通过验证!

if((!reg.test(course1))&&(!reg.test(course2))){

  showToast.msg('套餐只能输入非零正整数');

  return false;

}


忽然笑
浏览 401回答 1
1回答

元芳怎么了

course1='1', course2='a',这种情况不会进入你的方法。应该是||的关系。代码修改如下:if((!reg.test(course1))||(!reg.test(course2))){  showToast.msg('套餐只能输入非零正整数');  return false;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript