var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
for (let key in params) {
if(reg.test(params[key])){
continue;
}
这段代码应该都为true 的;结果存在了false,是应为一个lastIndex属性导致;
每次都将他重置为0之后解决
var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
for (let key in params) {
reg.lastIndex=0;
if(reg.test(params[key])){
continue;
}
参考了大佬的文章
https://blog.csdn.net/weixin_42556438/article/details/102594565
#规则如下
1.初始状态lastIndex为0
2.在进行匹配校验的过程中,若成功匹配,那么lastIndex就会等于符合规则的字符串的最后一个下标再+1
3.匹配失败,lastIndex会置为0
4.如果继续用这个正则去匹配的话,就会从这个lastIndex开始
测试结果如下