js regexp.test()问题

时间:2016-07-21 12:57:53

标签: javascript regex

我循环一个关联数组并使用regexp.test()测试条目名称,以及一些应该与它不匹配的条目,但是如果我使用StringObj.match(regexp),这就有效。

更奇怪的是,如果我之前使用执行匹配,test()会起作用...

var pattern = new RegExp(".*" + this.value + ".*", "gmi");

     //console.log(pattern);
     for (var key in data) {

        //console.log(data[key].name.match(pattern));

        if ( pattern.test(data[key].name) )
        {
           console.log(data[key].name + " - " + key);
           $("#d-"+key).show();
        }
        else
        {
           $("#d-"+key).hide();
        }

     }

“this.value”是我在keyup上获取的输入值。

如果注释了console.log(match()),则test()没有正确显示,如果我取消注释它的工作原理。

(我不想做另一种选择,我知道怎么做,我想解释一下这个,我认为,奇怪的行为)。

提前谢谢。

0 个答案:

没有答案