您知道我如何将搜索字符串放入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;
}
});
答案 0 :(得分:1)
如果要从字符串构建自定义正则表达式,则不要包含分隔符/
或选项。您使用以下形式的函数构造函数:
var regex = new RegExp(search, "i");
并在search
方法中使用它。