2014-12-02 61 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

相關問題