您的位置:首页技术文章
文章详情页

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

浏览:53日期:2023-03-16 08:45:14

问题描述

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;}

问题解答

回答1:

course1=’1’, course2=’a’,这种情况不会进入你的方法。应该是||的关系。代码修改如下:

if((!reg.test(course1))||(!reg.test(course2))){ showToast.msg(’套餐只能输入非零正整数’); return false;}

标签: JavaScript
相关文章: