我想在整个网站上制作可重复使用的功能进行验证。以下是我所做的事情。我正在努力。我'我被困在模式与正则表达式不匹配的地方。请指导我这样做的正确方法。
function match_str(str, pattern){
mask = "/^[" + pattern + "]+$/";
check = mask.test(str);
return check;
}
错误消息:掩码不是函数
function match_str(str, pattern){
mask = /^[pattern]+$/;
check = mask.test(str);
return check;
}
错误消息:始终返回false
//Usage
alert( match_str('test', 'a-z') );
答案 0 :(得分:4)
来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Description:
有两种方法可以创建一个RegExp对象:一个文字表示法和一个 构造函数。指示字符串,文字的参数 表示法时参数不要使用引号 构造函数确实使用引号。
假设您需要动态创建正则表达式,您需要使用构造函数 - 具体取决于您的要求:
function match_str(str, pattern){
var mask = new RegExp("^[" + pattern + "]+$");
var check = mask.test(str);
return check;
}