为了账号安全,请及时绑定邮箱和手机立即绑定

new RegExp里的值为空,竟然可以全文匹配,这是为什么?

new RegExp里的值为空,竟然可以全文匹配,这是为什么?

幕布斯7119047 2018-12-13 14:15:30
<input type="text" id="aa"><div class="bb"></div>var arr=['tom','jack','mary','peter','jomo']$('#aa').keyup(function(){    var patt1 = new RegExp($('#aa').val());    var cc=''            for(var i=0;i<arr.length;i++){                if(patt1.test(arr[i])){                    cc+=arr[i]+','                }            }            $('.bb').html(cc)})问题描述:当我输入a时,可是匹配出jack,mary。但是当我把输入框里的值清空,竟然可以匹配出tom,jack,mary,peter,jomo, 竟然把所有的都匹配出来了。这是为什么呢?我觉得应该是啥都匹配不到才对额。在线代码,请大家查阅http://jsbin.com/xilepoxuzi/e...
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

清空了的话,说明是匹配空字符串,你创建的正则对象如下:

var patt1 = new RegExp('');

由于每个字符串都有空字符,所以就匹配了


查看完整回答
反对 回复 2019-01-14
  • 1 回答
  • 0 关注
  • 557 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信