在项目时代遇到一个需求,就是搜索关键词时需要高亮显示,主要通过正则匹配来实现页面关键词高亮显示。
效果如下:
代码:
<style> em{ color:red; } </style> <script> /*正则匹配中文、英文关键字高亮,高亮后的关键字和之前的大小写保持一致*/ function keyLightet(str){ var key = "js 前端";//这里界说关键词 key = '('+key.replace(/([\+\.\*\|\?\-\(\[\^\$])/g,'\\$1' ).replace(/\s+/g,'|')+')';//把匹配关键字中的正则符转义 var patt=new RegExp(key ,'igm'); var str2=str.replace(patt,"<em>$1</em>"); return str2; } var str="迎接接见fly63.com,web前端主要由:css,js,html组成!"; console.log(keyLightet(str)); //效果:迎接接见fly63.com,web<em>前端</em>主要由:css,<em>js</em>,html组成!
有一组关键词数组,在数组中筛选出相符关键字的内容并将关键字高亮。
效果如下:
代码实现:
<style> em{ color:red; } </style> function searchLightet(words,val){ var tips = [];//筛选后的关键词数组 if(val!=''){ var reg = new RegExp("^"+val); for(var i =0;i<words.length;i++){ if(reg.test(words[i])){ tips.push(words[i]); } } } var result=[]; for(var w in tips){ result.push("<em>"+val+"</em>"+tips[w].substr(tips[w].indexOf(val)+val.length)); } return result } var arr=['web','前端','js','测试','css','java','js前端','vue','react','jquery'] console.log(searchLightet(arr,'j'));//搜索为j的时刻 //效果:["<em>j</em>s", "<em>j</em>ava", "<em>j</em>s前端", "<em>j</em>query"]
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
在SEO领域,已经很多年,实际上早在2017年之前,我一直在做短视频的业务,很庆幸,每次都可以低成本抢占流量的风口,直到2017年底,熊掌号上线。 让我再次看到SEO这个行业的希望,于是全身心的写了...
文章分析了服务对象变化时的产品与商业模式变化规律,同时介绍了维度划分的规律、帮助构建更高效的模型,笔者抽象出来的底层逻辑模型是“开放、可生长、可迁移,最终个性化”,希望对你有帮助。 本文主要从两个方...
现炒干果店加盟项目在市场上的成长长短常的不错的,许多加盟商都想要加盟到个中来,假如你也对这个加盟项目感乐趣,想要加盟到个中来的话,那么你此刻就和我一起来相识一下吧!现炒干果店这个项目怎么样?加盟简朴吗...
随着“互联网+”战略的深入发展,政企、金融、医疗等各行各业与互联网的结合日益紧密。随之而来的是,网络安全也成为重中之重。日前,国内网络安全领域领导厂商中国长城计算深圳股份有限公司(简称长城电脑)在其集...
新年发什么微信朋友圈比较好,在新年这一天许多人都是会发些微信朋友圈来庆贺自身过年啦,但是在新年这一天的夜里发些哪些比较好呢,我就而言讲吧。 合适新年微信发朋友圈的语句说说 哥哥姐姐过年好。...
相信现在有很多的朋友们对于防护栅栏有哪些材质?都想要了解吧,那么今天小编就来给大家针对防护栅栏有哪些材质?进行一个介绍吧,希望小编介绍的内容能够为大家起到帮助哦 一般而言,防护栏通常情况下是采用球...