码迷,mamicode.com
首页 > 其他好文 > 详细

将搜索关键字设置为高亮显示实例代码

时间:2016-01-19 01:36:52      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

将搜索关键字设置为高亮显示实例代码:
搜索关键词以高亮状态呈现是一种比较人性化的举措,例如百度或者本站都有这样的功能,可以极大的提高辨识度,下面就通过代码实例介绍一下如何实现此功能。
代码实例如下:

 

<!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/

 

将搜索关键字设置为高亮显示实例代码

标签:

原文地址:http://www.cnblogs.com/come-on/p/5140915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!