我试图通过将所有正则表达式存储在一个对象中并将它们作为一个函数的参数调用来简化我的代码。问题是,由于某种原因,它不起作用。有人能告诉我这里缺少什么吗?
以下是工作代码:
function alphaNumericVal(input) {
var regex = new RegExp("^[a-zA-Z0-9]+$");
return regex.test(input);
}
var testString = "FGDFGfg%$#d4334";
document.getElementById("test").innerHTML = alphaNumericVal(testString);
这就是我要做的事情:
var expr = {
alphaNumeric:"^[a-zA-Z\d]+$"
};
function genericFunc(input, regExp) {
var regex = new RegExp(regExp);
return regex.test(input);
}
var testString = "FGDFGfg%$#d4334";
document.getElementById("test").innerHTML = genericFunc(testString, expr.alpaNumeric);
工作代码返回false,因为" testString"不是字母数字。底部代码总是返回true。