JS正则对象 RegExp(有变量的时候使用),用来匹配搜索关键字(标红)

1,平常我们写js正则规则的时候,一般是这样写:

var reg = /abc/; 

然而,这样写的话,如果abc是一个变量这样就不行,我们需要下面这种写法:

var abc = "汉字";var reg = new RegExp(abc, ‘g‘);//g 全局匹配

2, 搜索关键字,让关键字标红;

           // class=‘text‘ :这个类中的文字         $(‘.text‘).each(function () {// 关键字标红
                  var reg = new RegExp($sea, ‘g‘);//g 全局匹配
                  var html = $(this).text(); //用文字,不能用 $(this).html(),这里只匹配标签中的文字
                  var newHtml = html.replace(reg, ‘<font class="bh" color="red">‘+$sea+‘</font>‘); //这里就是标红
                  $(this).html(newHtml);
              });

原文地址:https://www.cnblogs.com/pyspang/p/9732494.html

时间: 2024-10-08 18:51:53

JS正则对象 RegExp(有变量的时候使用),用来匹配搜索关键字(标红)的相关文章

js正则实现从一段复杂html代码字符串中匹配并处理特定信息

js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他进行加粗.加下滑线处理. 解决思路: 1.用正则匹配“|”出现的次数,处理刚好出现2次的(html字符串中一般不会含有这个字符) 2.使用正则分组,获取“|”之间的内容,并进行替换(添加样式) 代码: function specialDeal(){ htmlStr = htmlStr.replace

正则对象与正则表达式的基础学习

正则对象与正则表达式的基础学习 正则表达式是文字匹配的工具,它更像是一个文字模版,只要符合条件的结果都会被筛选出来. 正则表达式在使用上,它依赖于正则对象提供的方法与属性,所以使用正则表达式之前要定义正则对象. 正则表达式的两种使用方式: 1. 定义正则对象 var reg = new RegExp( /regexpression/modified ) //格式一 var reg = new RegExp( 'regexpression' , 'modified' ) //格式二 2. 直接量的

Date对象和正则对象

1.Date对象 创建 var date1 = new Date(); var date2 = new Date(12983798123);//填一个毫秒值,应该是距离1970年1月1日.....多少多少毫秒 方法 1.new Date()获取当地时间 2.getFullYear()获取当地年份 alert(date2.getFullYear());    //1970 3.getMonth()获取月份,月份是0--11,表示的1-12 alert(date2.getMonth());    /

js正则表达式replace里有变量的解决方法用到RegExp类

一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但是用起来比较简单,语法和书写格式比较容易记住,所以使用率是相当高的. 今天在操作一段字符串时,需要揪出字符串里的一个数字,虽然用split.substring.indexOf这几个函数的结合使用能实现,但是如果用下正则表达式,则效果好很多,正则表达式的最大作用不就是匹配吗?于是尝试使用正则表达式来编

浅谈 js 正则字面量 与 new RegExp 执行效率

前几天谈了正则匹配 js 字符串的问题:<js 正则学习小记之匹配字符串> 和 <js 正则学习小记之匹配字符串优化篇>.里面讲到了优化正则起到提升性能的问题,但是能提升多少呢?于是我去测试了,发现TMD几乎微乎其微,我用1千字符串进行100万次匹配测试,优不优化根本没区别. 这不科学,我白看了这么多天正则,上天这是在玩弄我么. 突然我想到了 compile 方法,然后去测试了下,奇迹出现了,果然优化过的快了不少. 但这是为什么呢?于是我翻阅资料,在 MDN 上找到了 RegExp

JS中的RegExp对象常用属性和方法

JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例.有两种方式可以创建RegExp对象的实例. 使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]). ~~~构造函数 new RegExp(..) 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]. ~~~正则字面量 pattern部分为要使用的正则表达式模式文本

RegExp 正则对象

正则表达式:规定文本检索的内容 创建正则对象:(1) 构造函数 var reg1 = new RegExp("l");//一个参数,检索内容. var reg2 = new RegExp("l","ig");//两个参数. (2) 字面量方式 var reg3=/l/ig; //i:不区分大小写:g:全局匹配. 检索方式: var reg = /l/ig;var str = "hello";(1) reg.test(str);

js 正则练习之语法高亮

原文:js 正则练习之语法高亮 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解.今天就分析下 次碳酸钴 和 Barret Lee 语法高亮实现. 先说 Barret Lee 的这篇 <玩转正则之highlight高亮>之前看的时候只觉的神奇,特别是下面那个一步一步分开匹配的例子,更是霸气测漏,不过作者也说了,分开只是为了演示方便,可以很直观的看到这一步匹配了什么,不然一步到位匹配完成,你都不知道发生了什么就处理完毕了.来看下他的正则 (/^\

js面对对象编程

说到js,很大一部分人会说我很熟悉,在日常的web开发中经常用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,减少了混乱,可维护行增强,适合编写富客户端时应用. 好了,首先看看js里如何定义对象: <html> <head> <script type="text/javascript"> var obj=new Object(); obj.name='josh'; obj.ag