搜索关键字高亮 JS replace() 变量的全局替换

通常搜索回来关键字高亮是 后端直接拼好字符串给我们的。
当然也有例如 后端偶尔不想做, 那就我们替换下好了...
JS没有replaceAll的。




//错误示范
var data = '圣诞节卡都是快乐的事快乐速度回家快乐';
var key = '快乐';
data.replace(key,"替换"); 》》》 只替换了第一个快乐

data.replace(/key/g,'替换') 》》》 完全不替换

so 以下两个方法




//一 利用 JavaScript eval() 函数

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

来源:https://segmentfault.com/a/1190000018588370

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值