请问我这段代码,无论如何打印的正则都是true?是正则写错了,还是因为test()是js的方法?

var reg = /\s*/g;
      $('.modal-content').find('input').focusout(function () {
        if ($(this).val() == '' || reg.test($(this).value)) {
          $(this).css('backgroundColor','#FFEFEF');
          $(this).nextAll('.hintWrap').css('display','block');
          console.log(reg.test($(this).value));
        } else {
          $(this).css('backgroundColor','#F5F5F5');
          $(this).nextAll('.hintWrap').css('display','none');
          console.log(reg.test($(this).value));
        }
      })

谢谢!

阅读 2.1k
2 个回答

/s*/g能匹配成功任意字符,(包括空串。个数随意,没有也行).因为所有的都能包含""。

评论区转码了,写这了

多个空格啊?>=2个?/\s\s+/g; ^&写不写你看着来,没太明白你的意思。

楼主,你这正则有问题哦,我看了一下控制台,它是一直进入if项的,也就是说,因为你正则的问题,你这个方法一直是执行的if内的语句:var reg =/s+/;你把正则改成这样试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题