js正则表达式之RegExp对象之compile方法 编译正则表达式
功能说明:该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果。
基本语法:objReg.compile(pattern[,flag])
objReg必选项,RegExp对象变量的名称
pattern 必选项 正则表达式
flag 可选项 匹配选项
<html>
<script language="javascript" type="text/javascript">
//要匹配的字符串
var objStr="我的手机号13522222222,他的手机号码13233333333她的手机号码13988888888";
//设置正则表达式匹配以13开头的11为手机号码,全局匹配(这里是匹配移动手机号)
var reg=new RegExp("13[4-9](//d){8}","g");
//提示用户发现移动号码,然后打印出结果
document.write("发现移动手机号码");
//调用函数打印匹配的结果
findPhoneNumbers(objStr.match(reg));
//重新编译正则表达式
reg.compile("13[0-3](//d){8}","g");
document.write("发现联通手机号码");
findPhoneNumbers(objStr.match(reg));
//定义输出返回结果函数
function findPhoneNumbers(arr){
//使用循环输出数据
for(var i=0;i<arr.length;i++){
document.write("<li>"+arr[i]+"<br>");
}
}
</script>
</html>
使用compile方法还可以对指定的正则表达式进行修改并且重新编译,提高了正则表达式的适应性!
相关推荐
-
浅谈JS正则表达式的RegExp对象和括号的使用
RegExp对象的创建: 常规的正则表达式的创建可用直接量,即斜杠 "/" 括起来的字符.但在要求参数变化的环境下,RegExp()构造函数是更好的选择: var reg1 = /'\w+'/g; var reg2 = new RegExp('\'\\w+\'','g'); 对比两种创建方式,RegExp中的第一个参数为要创建的正则字符串,一方面注意,因为不是直接量的表示形式,因此不用斜杠" / "括起来了:而是字符串中必须要对引号" ' "和转
-
javascript RegExp对象(正则表达式)
使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]). 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]. pattern部分为要使用的正则表达式模式文本,是必须的.在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来:在第二种方式中,pattern部分嵌套在两个"/"之间,不能使用引号. flags部分设置正则表达
-
JS正则中的RegExp对象对象
有两种方式可以创建RegExp对象的实例. 使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]). 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]. pattern部分为要使用的正则表达式模式文本,是必须的.在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来:在第二种方式中,pattern部分嵌套在两个"/"之间
-
详解JavaScript RegExp对象
什么是 RegExp? 正则表达式描述了字符的模式对象. 当您检索某个文本时,可以使用一种模式来描述要检索的内容.RegExp 就是这种模式. 简单的模式可以是一个单独的字符. 更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等等. 您可以规定字符串中的检索位置,以及要检索的字符类型,等等. RegExp对象是原生JavaScript中表示正则表达式的对象. 创建对象的方法为:var RegExp = new RegExp(pattern, attributes); 参数pattern
-
RegExp 随笔 JavaScript RegExp 对象
概述 RegExp 的构造函数创建了一个正则表达式对象,用模式来匹配文本. 有关正则表达式介绍,请阅读JavaScript指南中的正则表达式章节. 语法 文字和构造符号是可能的: /pattern/flags new RegExp(pattern [, flags]) 参数 pattern 正则表达式的文本 flags 如果指定,标志可以具有以下值的任意组合: g 全局匹配 i 忽略大小写 m 多行;让开始和结束字符(^ 和 $)工作在多行模式工作(例如,^ 和 $ 可以匹配字符串中每一行的开始
-
深入浅析JavaScript中的RegExp对象
JS中的正则对象 概述 正则表达式(regular expression)是一种表达文本模式(即字符串结构)的方法,有点像字符串的模板,常常用作按照"给定模式"匹配文本的工具.比如,正则表达式给出一个 Email 地址的模式,然后用它来确定一个字符串是否为 Email 地址. JavaScript 的正则表达式体系是参照 Perl 5 建立的. 新建正则表达式有两种方法.一种是使用字面量,以斜杠表示开始和结束. var regex = /xyz/; 另一种是使用 RegExp 构造函数
-
JavaScript RegExp 对象用法详解
当您检索某个文本时,可以使用一种模式来描述要检索的内容.RegExp 就是这种模式. 简单的模式可以是一个单独的字符. 更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等等. 您可以规定字符串中的检索位置,以及要检索的字符类型,等等. 1.基本用法 <script> // 创建正则 var reg = /hello/ // 检测某个字符串是否有符合正则格式的文本 var flag = reg.test("hello world") console.log(flag
-
js正则表达式之RegExp对象之compile方法 编译正则表达式
功能说明:该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果. 基本语法:objReg.compile(pattern[,flag]) objReg必选项,RegExp对象变量的名称 pattern 必选项 正则表达式 flag 可选项 匹配选项 复制代码 代码如下: <html> <script language="javas
-
js正则表达式之RegExp对象之compile方法 编译正则表达式
功能说明:该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果. 基本语法:objReg.compile(pattern[,flag]) objReg必选项,RegExp对象变量的名称 pattern 必选项 正则表达式 flag 可选项 匹配选项 复制代码 代码如下: <html> <script language="javas
-
JS中数组与对象的遍历方法实例小结
本文实例讲述了JS中数组与对象的遍历方法.分享给大家供大家参考,具体如下: 一.数组的遍历: 首先定义一个数组 arr=['snow','bran','king','nightking']; 1.for循环,需要知道数组的长度; 2.foreach,没有返回值,可以不知道数组长度: arr.forEach(function(ele,index){ console.log(index); console.log(ele) }) 3.map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新
-
JS实现给数组对象排序的方法分析
本文实例讲述了JS实现给数组对象排序的方法.分享给大家供大家参考,具体如下: JS中给数组对象排序 假设有一个对象数组,我们想要根据某个对象属性对数组进行排序.而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值. 可是,我们需要一种方式指明按照哪个属性来排序. 要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数. function createComprisonFunction(propertyName){ return function(o
-
javascript RegExp 对象属性与方法和应用
JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例.有两种方式可以创建RegExp对象的实例. 使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]). 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]. pattern部分为要使用的正则表达式模式文本,是必须的.在第一种方式中,pattern部分以JavaScri
-
详解JavaScript正则表达式之RegExp对象
一.RegExp对象概述 RegExp对象表示正则表达式,RegExp是正则表达式的缩写,它是对字符串执行模式匹配的强大工具.RegExp对象用于规定在文本中检索的内容.当您检索某个文本时,可以使用一种模式来描述要检索的内容.RegExp就是这种模式.简单的模式可以是一个单独的字符:更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等. 正则表达式可以规定字符串中的检索位置,以及要检索的字符类型等. 二.创建RexExp对象 创建正则表达式和创建字符串类似,创建正则表达式有
-
注意 JavaScript 中 RegExp 对象的 test 方法
JavaScript 中的 RegExp 对象用于正则表达式相关的操作,这个对象提供了一个方法 test 来判定某个字符串是否满足某个 pattern. 返回值是 true/false. 今天我碰到了一个问题: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这里两个测试的字符串应该都满足正则表达式中的模式,返回 true. 可是测试结果却依次是:true, false. 我估计问题的原因可能是因为 RegExp 对象是有状态的,并且在 test 方法的执行时会在某个步骤中利用到状态
-
js正则表达式之RegExp对象属性lastIndex,lastMatch,lastParen,lastContext,rightContext属性讲解
1.lastIndex属性,返回匹配内容的最后一个索引位置,也就是下一个匹配的开始位置,注意字符串索引从0开始 代码: //设置要匹配的内容 var objStr="abfdabcd"; //设置匹配的正则表达式 var re=/abc/; //输出匹配前的字符串 document.write("未匹配前的字符串"+objStr+""); //输出匹配的内容 document.write("匹配的内容"+objStr.matc
随机推荐
- jQuery控制文本框只能输入数字和字母及使用方法
- 详解Spring Aop实例之xml配置
- java面试常见问题之Hibernate总结
- JQuery 在表单提交之前修改 提交的值 原创
- js获取时间(本周、本季度、本月..)
- Yii 2.0实现联表查询加搜索分页的方法示例
- python自动化脚本安装指定版本python环境详解
- JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
- Js+php实现异步拖拽上传文件
- jQuery实现简单的手风琴效果
- jQuery不兼容input的change事件问题解决过程
- VBS教程:方法-Delete 方法
- 详解Java如何实现图像灰度化
- 设计模式中的Memento备忘录模式的在iOS App开发中的运用
- C#实现的鼠标钩子
- php下目前为目最全的CURL中文说明
- 基于vue2实现左滑删除功能
- Spring boot + LayIM + t-io 实现文件上传、 监听用户状态的实例代码
- Javascript中JSON数据分组优化实践及JS操作JSON总结
- Yii框架函数简单用法分析