html 和ajax 部分就不写了,只需将需要匹配的文字传进去就可以了
比如匹配后台传回的字符串data.content
中的关键词:直接调用:
data.content = highLightKeywords(data.content,keywords)
即可
以下两个函数分辨是匹配1:匹配关键词words中每一个字符,2:匹配整个关键词words
//高亮关键字 text =>内容 words:关键词 tag 被包裹的标签 //匹配每一个关键字字符 function highLightKeywords(text, words, tag) { tag = tag || 'span';// 默认的标签,如果没有指定,使用span var i, len = words.length, re; for (i = 0; i < len; i++) { // 正则匹配所有的文本 re = new RegExp(words[i], 'g'); if (re.test(text)) { text = text.replace(re, '<'+ tag +' class="highlight">$&</'+ tag +'>'); } } } return text; }
//匹配整个关键词 不拆分 function highlight(text, words, tag) { // 默认的标签,如果没有指定,使用span tag = tag || 'span'; var i, len = words.length, re; //匹配每一个特殊字符 ,进行转义 var specialStr = ["*", ".", "", "+", "$", "^", "[", "]", "{", "}", "|", "\\", "(", ")", "/", "%"]; $.each(specialStr, function(i, item) { if(words.indexOf(item) != -1) { words = words.replace(new RegExp("\\" + item, 'g'), "\\" + item); } }); //匹配整个关键词 re = new RegExp(words, 'g'); if(re.test(text)) { text = text.replace(re, '<' + tag + ' class="highlight">$&</' + tag + '>'); } return text; }
总结
以上所述是小编给大家介绍的JS实现关键词高亮显示正则匹配,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
标签:
js,正则匹配,js,关键字高亮
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无争山庄资源网 Copyright www.whwtcm.com
暂无“JS实现关键词高亮显示正则匹配”评论...
更新日志
2024年11月18日
2024年11月18日
- ABC唱片-鲍比达·新民乐《满江红》[APE+CUE]
- 许嵩.2014-不如吃茶去【海蝶】【WAV+CUE】
- 周笔畅.2024-HAVE.A.GOOD.NIGHT【SN.Music】【FLAC分轨】
- 周笔畅.2024-HAVE.A.NICE.DAY【SN.Music】【FLAC分轨】
- 证声音乐图书馆《真夏派对 x 迪斯可》[FLAC/分轨][380.78MB]
- 证声音乐图书馆《星空下 爵士钢琴》[320K/MP3][65.88MB]
- 证声音乐图书馆《星空下 爵士钢琴》[FLAC/分轨][283.95MB]
- 沙门怀一《竹山听雨HQ》头版限量[低速原抓WAV+CUE]
- 沙门怀一《于喁·壹HQ》头版限量编号[低速原抓WAV+CUE]
- 群星《魅音绝唱》黑胶CD【WAV】
- 腾格尔.2002-四十独白【风潮】【WAV+CUE】
- 陈明真.1992-到哪里找那么好的人【华星】【WAV+CUE】
- 黄凯芹.2012-廿五年3CD【环球】【WAV+CUE】
- 证声音乐图书馆《七夕 爵士情缘》[320K/MP3][64.8MB]
- 证声音乐图书馆《七夕 爵士情缘》[FLAC/分轨][327.79MB]