NeedAnswers
NeedAnswers

Reputation: 1435

Jquery regexp dynamic expression

I have this regexp :

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

Now I want to set it dynamically, meaning the value 2 can be changed like this :

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

I tried :

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

and

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

but can't get it to work. What am I doing wrong here?

Upvotes: 0

Views: 49

Answers (1)

Avinash Raj
Avinash Raj

Reputation: 174706

Pass your regex to RegExp constructor.

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

Example:

> 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

Upvotes: 1

Related Questions