js 关键字高亮不改变原来字符串大小写

2019-08-18  本文已影响0人  树叶遮窗棂

思路:将输入的文字,转换成正则,然后查询字符串,将目标文字用HTML标签包裹,然后在标签上添加行内或者class样式,如果,查询后的字符串没有触发浏览器中css模块的解析,希望还是直接使用行内样式处理。

使用方法:

1.new RegExp(keyword, 'ig')
/* 该方法将关键字转换成正则表达式格式
   keyword关键字,可以是参数
   i: 大小写不敏感(大小写都可以匹配)
   g:全局搜索(只要在字符串中的都可以匹配)
*/

2.string.replace(RegExp, fun|string)
/* 该方法js字符串替换,返回一个新的字符串
   RegExp: 可以是正则表达式,也可以是字符串
   第二个参数:被替换的目标字符串,或者是函数,其中如果是函数:
     function (keyword, index, sourceStr) {
      return '<div>keyword</div>'
    }
   其中keyword:原字符串的关键字(就是被查出来的)
      index: 下标
      sourceStr: 原字符串(就是被查的那个)
然后return 返回的就是替换后的值
*/

先用第一个方法,将要搜索的关键字转换成正则格式的,然后用第二个方法查询下,再用参数接下返回的值就可以了

上一篇 下一篇

猜你喜欢

热点阅读