[JS]在js中进行正则替换显示高亮处理中,重复替换问题,可以使用js自带的批量替换,则不会重复替换

//js高亮显示

function highlight(){
    if($.trim($(‘#pscws‘).val()) != ‘‘){
        var url = $("#analysis_url").val();
        $.ajax({
            url:url,
            data:{words:$(‘#pscws‘).val()},
            dataType:‘json‘,
            type:‘POST‘,
            success:function (json) {
                if(json.status == 1 && json.data.length > 0){
                    var _key_word_str = json.data.join(‘|‘);//将要替换的词的数组组合成一个正则方式
                    $(".sEvent li strong>a,.sEvent li .tLDWords>em").each(function() {
                        var html=$(this).html();
                        var newhtml = html.replace(new RegExp(_key_word_str,‘gi‘), "<em class=\"wResult\">$&</em>");//执行js的批量替换,不会重复替换关键词
                        $(this).html(newhtml);
                    });
                }
            }
        });
    }
};

原文地址:https://www.cnblogs.com/hhao321/p/8309359.html

时间: 2024-10-12 00:35:33

[JS]在js中进行正则替换显示高亮处理中,重复替换问题,可以使用js自带的批量替换,则不会重复替换的相关文章

《JS高程》中的正则的复杂模式的总结

复杂模式: *分组: var reDogDog=/dogdog/g;---------------var reDogDog=/(dog){2}/g; *引用:(注意带括号和不带括号) var sMatch="#123456789"; var reNum=/(#(\d+))/; reNum.test(sMatch); alert(RegExp.$1+" "+RegExp.$2); var sChange="1234 5678"; var reMat

js中常用正则

/校验是否全由数字组成 ? 1 2 3 4 5 6 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的

js数据显示在文本框中(页面加载显示和按钮触动显示)

web代码如下: <!DOCTYPE html> <html> <head> <title>jsTest02.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is

《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转换成JSON,然后传递到前台JS文件中,JS解析JSON数据,并将数据显示在界面,主要介绍两种显示方式,显示在DropDownList控件 or 显示在动态创建的Table表中.   本文主要介绍两个地方: 1.根据学年查询学期信息的实现--JS将解析的JSON数据绑定到DropDownList框

js文件在IDEA中没有了格式,显示的是纯文本的解决办法

添加个Patterns就行了,名字为*.js js文件在IDEA中没有了格式,显示的是纯文本的解决办法

用JS实现表格中隔行显示不同颜色

第一种: <style> tr{bgColor:expression(     this.bgColor=((this.rowIndex)%2==0 )? 'white' : 'yellow'); } </style> <table id="oTable" width="100" border="1" style="border-collapse:collapse;"> <tr>

JS实现alert中显示换行的方法

转自脚本之家: 这篇文章主要介绍了JS实现alert中显示换行的方法,实例分析了两种实现alert换行的实现技巧,非常简单实用,需要的朋友可以参考下 本文实例讲述了JS实现alert中显示换行的方法.分享给大家供大家参考,具体如下:先来介绍一种比较复杂的方法,但这种方法使用起来对所有型号的浏览器都能任意分辨: //浏览器类型判定 function getOs() {   if(navigator.userAgent.indexOf("MSIE")>0) {      return

js导出table中的EXCEL总结

导出EXCEL一般是用PHP做,但是项目中,有时候PHP后端工程师返回的数据不是我们想要的,作为前端开发工程师,把对应的数据编号转换为文字后,展示给用户,但是,需求要把数据同时导出一份EXCEl.无奈之下,我只能用js导出table中的数据了. 导出EXCEl一般是自己人用的,所以用js导出,因为js导出EXCEL一般情况下兼容性不是很好,很多只是兼容IE浏览器,还要设置在工具栏中进行设置才能导出,因为会相对比较烦.下面介绍几种方法: 一.js导出EXCEl带单元格合并[已验证,比较好用] //

浅谈 js 字符串 trim 方法之正则篇

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流