将搜索关键字设置为高亮显示实例代码:
搜索关键词以高亮状态呈现是一种比较人性化的举措,例如百度或者本站都有这样的功能,可以极大的提高辨识度,下面就通过代码实例介绍一下如何实现此功能。
代码实例如下:
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title> <style type="text/css"> strong{color:red} </style> <script type="text/javascript">function createExp(arry){ var str=""; for(var i=0;i<arry.length;i++) { if(i!=arry.length-1) { str=str+arry[i]+"|"; } else { str=str+arry[i]; } } return "("+str+")";}function hightKey(key,id){ var arr=null; var regStr=null; var content=null; var Reg=null; var newContent=null; var theObj=document.getElementById(id); arr=key.split(/\s+/); regStr=createExp(arr); content=theObj.innerHTML; Reg=new RegExp(regStr,"g"); return newContent=content.replace(Reg,"<strong>$1</strong>");}window.onload=function(){ var thediv=document.getElementById("thediv"); var key="蚂蚁部落 青岛"; thediv.innerHTML=hightKey(key,"thediv");}</script></head> <body> <div id="thediv">蚂蚁部落欢迎您,只有努力非都才会有美好的未来,蚂蚁部落位于青岛市南区</div></body> </html>
以上代码实现了我们的要求,可以将指定的关键字在字符串中以高亮的形式展现,下面简单介绍一下实现过程。
一.实现原理:
原理很简单,以上代码的最终目的就是实现用正则表达式匹配每一个关键字,然后用指定的字符串替换匹配的关键字,然后利用CSS给其高亮或者加粗即可,原理大致如此,可以参阅相关阅读,或者跟帖留言。
二.相关阅读:
1.split()函数可以参阅javascript的String对象的split()方法一章节。
2.RegExp()构造函数可以参阅正则表达式的创建一章节。
3.replace()函数可以参阅正则表达式replace()函数一章节。
原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=10500
更多内容可以参阅:http://www.softwhy.com/javascript/