javascript正则表达式模式与变量字符串无法正常工作

时间:2011-11-30 15:04:17

标签: javascript jquery

我正在尝试创建一个将一些参数传递给正则表达式脚本的函数:

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”

1 个答案:

答案 0 :(得分:4)

我认为您需要转义搜索字符串中的反斜杠 -

var regex = new RegExp(className+"\\[(.*?)\\]");