Reputation: 158
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
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
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
Reputation: 918
remove the extra space after 0 in the gLanguageLowercase ...it should be
gLanguageLowercase = gLanguageLowercase + "{0," + aLength + "})";
Upvotes: 1