2014-11-06 73 views
0

我有這個regexpjQuery的正則表達式的動態表達

var regexp = /(2\d)(\W)/gi 

現在我要動態地設置它,這意味着價值2可以改變這樣的:

var regexp = /(changablevalue\d)(\W)/gi 

我想:

var regexp = "/(" + changablevalue + "\d)(\W)/gi" 

and

var changablevalue = 2 
var regexp = /(changablevalue\d)(\W)/gi 

但無法正常工作。我在這裏做錯了什麼?

回答

1

將您的正則表達式傳遞給RegExp構造函數。

var regex = new RegExp("("+changablevalue + "\\d)(\\W)", "gi") 

例子:

> var changablevalue = 2 
> var regex = new RegExp("("+changablevalue + "\\d)(\\W)", "gi") 
undefined 
> console.log(regex) 
/(2\d)(\W)/gi 
undefined 
> regex.test('28.') 
true 
> regex.test('48.') 
false 
+0

它仍然沒有工作,我是否需要安裝一些額外的課程? – NeedAnswers 2014-11-06 06:52:38

+0

現在檢查.... – 2014-11-06 06:53:28

+0

啊我看,斜槓 – NeedAnswers 2014-11-06 06:54:35