【问题标题】:regex search term in variable变量中的正则表达式搜索词
【发布时间】:2017-01-09 05:35:58
【问题描述】:

您知道我如何将搜索字符串放入 RegExp 中吗? 假设我的搜索词是“Ame”,那么我可以写

v.name.search(new RegExp(/Ame/i)).                //It works  

var search = $("#search-query").val();
v.name.search(new RegExp('/'+search+'/i'          //It doesn't work  

但是,如果值 'Ame' 存储在 var 'search' 中,我该如何使用 var?

var search = $("#search-query").val();
if($("#search-query").val().length <1){  
            $scope.hiddenError = true;
            return;
        } 

$.each(json.products, function(i, v) {
     if (v.name.search(new RegExp('/'+search+'/i')) != -1) {              //doesn't work
           $scope.recentGame.push({ label:v.name, value: v.type, link: v.url });
           return;
     }
});   

【问题讨论】:

    标签: regex string search var


    【解决方案1】:

    当您想从字符串构建自定义正则表达式时,不要包含分隔符 / 或选项。您使用以下形式的函数构造函数:

    var regex = new RegExp(search, "i");
    

    并在search 方法中使用它。

    【讨论】:

    • 谢谢!欣赏!
    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2020-01-25
    相关资源
    最近更新 更多