小编Vis*_*bia的帖子

如何使用javascript通过不区分大小写的搜索从JSON返回结果?

我的JSON包含"产品",每个产品都有多个值(名称,制造商等)

我有以下代码,允许我根据从查询字符串中获取的搜索结果从我的JSON中提取"产品".它工作正常,但只有在搜索条目的格式完全如何在字符串中写入.

如何允许不区分大小写的搜索产生所需的结果(理想情况下,部分搜索)?

我相信正则表达式是可行的方式,但我已经耗尽了我的知识,似乎无法随意使用它.

我试图把一个小提琴放在一起,但无法得到一个正确的演示工作,所以相反,我试图巩固代码并评论它的清晰度.任何帮助将不胜感激 :)

解析JSON:

var prodobjects = JSON.parse(prods);
Run Code Online (Sandbox Code Playgroud)

根据具体价值获取产品的代码:

function getData(array, type, val) {
  return array.filter(function (el) { 
    return el[type] === val;
  });
}
Run Code Online (Sandbox Code Playgroud)

检索查询字符串的代码:

function gup( name ){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
var regexS = "[\\?&]"+name+"=([^&#]*)";  
var regex = new RegExp( regexS );  
var results = regex.exec( window.location.href ); 
 if( results == null )    return "";  
else    return results[1];}
Run Code Online (Sandbox Code Playgroud)

我想要使​​用的查询字符串部分:

var prodresult = gup( 'search' );   
Run Code Online (Sandbox Code Playgroud)

删除加号并替换为空格:

var removeplus = prodresult.replace(/\+/g, ' ');
Run Code Online (Sandbox Code Playgroud)

使用与"搜索"查询匹配的"产品名称"编译产品列表:

var searchname = …
Run Code Online (Sandbox Code Playgroud)

javascript regex search json case-insensitive

1
推荐指数
1
解决办法
5337
查看次数

标签 统计

case-insensitive ×1

javascript ×1

json ×1

regex ×1

search ×1