Jquery regexp动态表达式

时间:2014-11-06 06:44:59

标签: jquery regex dynamic

我有regexp

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

现在我想动态设置它,这意味着值2可以像这样改变:

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

我试过了:

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

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

但无法让它发挥作用。我在这做错了什么?

1 个答案:

答案 0 :(得分: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