2014-12-02 32 views
0

我知道这是之前问过的,但没有一个建议的解决方案为我工作。我有以下几点:正则表达式JavaScript在模式中使用变量

var regex = new RegExp(/D0030001 IN/gi); 
    $("p").filter(function() { 
     return regex.test(this.id); 
    }).css("background-color","blue"); 

这一个工作正常。但是,当我试图做

spl = []; 
spl[0] = "D0030001"; 
spl[1] = "IN"; 
var regex = new RegExp("/" + spl[0] + " " + spl[1] + "/gi"); 
     $("p").filter(function() { 
     return regex.test(this.id); 
    }).css("background-color","blue"); 

这一个不工作。换句话说,我需要使用变量来构造正则表达式模式。由于

回答

2

你需要使用正则表达式构造函数的第二个参数设置的标志,你不需要/ /分隔符。

var regex = new RegExp(spl[0] + " " + spl[1], "gi"); 
+0

感谢。就是这样。 – george 2014-12-02 10:14:37

+0

@ user3793865很高兴帮助 – 2014-12-02 10:15:45

相关问题