我正在尝试创建一个将一些参数传递给正则表达式脚本的函数:
function classAttributes( classString, className ) {
var data;
var regex = new RegExp(className+"\[(.*?)\]");
var matches = classString.match(regex);
if ( matches ) {
//matches[1] refers to options inside [] "required, email, ..."
var spec = matches[1].split(/,\s*/);
if ( spec.length > 0 ) {
data = spec;
}
}
return data;
}
但由于某种原因,它不喜欢我传递给它的字符串变量“new RegExp(className +”[(。*?)]“);” 它不会引发错误但验证不起作用。
编辑: 我将从类stribute获取信息并将其作为classString
传递<div class="field-character-count test[asd, 123, hello]"></div>
并且“className”将代表“test”
答案 0 :(得分:4)
我认为您需要转义搜索字符串中的反斜杠 -
var regex = new RegExp(className+"\\[(.*?)\\]");