使用 var 将字符串传递到正则表达式中



我一直在寻找SO以找到使用var作为正则表达式一部分的正确方法.这个想法是获取页面上的每个可搜索字段并检查文本是否包含搜索词,如果是,则替换文本的该部分并将其包装在样式范围中。这是代码中无法正常工作的部分,"/\"+src+"/gi",

$('.srch').each(function () {
        var txt = $(this).text(),
            src = $('#Srch_Srch_txt').val();
        var s = txt.replace("/\"+src+"/gi", '<span class=highlight>' + src + '</span>');
        $(this).html(s);
    })

提前谢谢你,将。

您可以使用

Javascript's RegExp object构造一个执行字符串操作的动态正则表达式

var re = new RegExp("ab" + src, "i"); // assuming src is a string variable

最新更新