Rajasri.J
Rajasri.J

Reputation: 158

error with usage of variables in regular expression (match) in javascript

what is going wrong with the below code?

Even if I pass the value as "aa" or "a", matchingArray is null.

Probably something is going wrong with the usage of variable in the regular expression.

var gEnLowercase = "a-z";
var gLanguageLowercase = "([" + gEnLowercase + "]";
gLanguageLowercase = gLanguageLowercase + "{0 , " + aLength + "})";
var filter = new RegExp(gLanguageLowercase);
var matchingArray = aValue.match(filter); // filter value => /([a-z]{0,10})/

Upvotes: 0

Views: 48

Answers (3)

JPG
JPG

Reputation: 545

You have to use filter.exec(aValue); instead of aValue.match(filter); Besides there are extra spaces in your regexp.

var gEnLowercase = "a-z";
var aLength = 10;
var gLanguageLowercase = "([" + gEnLowercase + "]";
gLanguageLowercase = gLanguageLowercase + "{0," + aLength + "})";
var filter = new RegExp(gLanguageLowercase);
var matchingArray = filter.exec(aValue); // filter value => /([a-z]{0,10})/

Upvotes: 0

aelor
aelor

Reputation: 11116

var gEnLowercase = "a-z";
var gLanguageLowercase = "([" + gEnLowercase + "]";
gLanguageLowercase = gLanguageLowercase + "{0," + 3 + "})";
var filter = new RegExp(gLanguageLowercase);
console.log(filter);
var matchingArray = "sds".match(filter);
console.log(matchingArray); 

remove the extra spaces

Upvotes: 0

Amol
Amol

Reputation: 918

remove the extra space after 0 in the gLanguageLowercase ...it should be

gLanguageLowercase = gLanguageLowercase + "{0," + aLength + "})";

Upvotes: 1

Related Questions