一般搜索回来关键字高亮是 后端直接拼好字符串给咱们的。
固然也有例如 后端偶尔不想作, 那就咱们替换下好了...
JS没有replaceAll的。html
//错误示范 var data = '圣诞节卡都是快乐的事快乐速度回家快乐'; var key = '快乐'; data.replace(key,"替换"); 》》》 只替换了第一个快乐 data.replace(/key/g,'替换') 》》》 彻底不替换
so 如下两个方法后端
//一 利用 JavaScript eval() 函数 //应该避免或减小使用eval 不安全,很是耗性能(2次,一次解析成js语句,一次执行) var data = '圣诞节卡都是快乐的事快乐速度回家快乐'; var key = '快乐'; var reg = eval('/'+key+'/g'); data.replace(reg,'替换')
//二 利用 JavaScript 的 RegExp 对象 //更推荐使用 var data = [{"title": "少儿保障、理财全能少儿产品"}, {"title": "少儿保障、理财全能幼儿产品"}, {"title": "少儿保障、理财全能成年产品"}, {"title": "少儿保障、理财全能老年产品"} ] var search_key = '少儿'; var reg = new RegExp(search_key,'g'); var html = ''; for(var i=0; i< data.length; i++){ html += '<li>'+data[i].title.replace(reg,('<span style="color:red">'+search_key+'</span>'))+'</li>' } console.log(html)
mark一下 仅供参考 欢迎更正补充 end安全