js正则表达式之exec方法讲解

功能说明:该函数通过对指定你的字符串进行一次匹配检测,获取字符串中的第一个与正则表达式的内容,并且将匹配的内容和子匹配的结果存放在返回数组中

基本方法:objReg.exec(string)

objReg,RegExp对象的名称

string,要进行匹配的字符串

正则表达式exec()函数:

exec() 方法用于检索字符串中的正则表达式的匹配。
返回值是一个数组,但是此数组的内容和正则对象是否是全局匹配有着很大关系:

1.没有g修饰符:
在非全局匹配模式下,此函数的作用和match()函数是一样的,只能够在字符串中匹配一次,如果没有找到匹配的字符串,那么返回null,否则将返回一个数组,数组的第0个元素存储的是匹配字符串,第1个元素存放的是第一个引用型分组(子表达式)匹配的字符串,第2个元素存放的是第二个引用型分组(子表达式)匹配的字符串,依次类推。同时此数组还包括两个对象属性,index属性声明的是匹配字符串的起始字符在要匹配的完整字符串中的位置,input属性声明的是对要匹配的完整字符串的引用。
特别说明:
在非全局匹配模式下,IE浏览器还会具有lastIndex属性,不过这时是只读的。

2.具有g修饰符:
在全局匹配模式下,此函数返回值同样是一个数组,并且也只能够在字符串中匹配一次。不过此时,此函数一般会和lastIndex属性匹配使用,此函数会在lastIndex属性指定的字符处开始检索字符串,当exec()找到与表达式相匹配的字符串时,在匹配后,它将lastIndex 属性设置为匹配字符串的最后一个字符的下一个位置。可以通过反复调用exec()函数遍历字符串中的所有匹配,当exec()函数再也找不到匹配的文本时,它将返回null,并把lastIndex 属性重置为0。
数组的内容结构和没有g修饰符时完全相同。

特别说明:

如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把lastIndex属性重置为0。
语法结构:

RegExpObject.exec(string)

参数列表如下:

参数名称 语义解释
string 必需。要检索的字符串。

浏览器支持:

IE浏览器支持此方法。
火狐浏览器支持此方法。
谷歌浏览器支持此方法。

实例代码:

实例一:

var str="I love antzone ,this is animate";
var reg=/an/;
console.log(reg.exec(str));

实例二:

var str="the name 123 and 456";
var reg=/\d/g;
reg.lastIndex=15;
console.log(reg.exec(str));

在全局模式下可以使用lastIndex属性设置在字符串中查找指定字符时开始的位置。

<html>
<script language="javascript" type="text/javascript">
//设置匹配的字符串
var objStr="我的手机号13522222222,他的手机号13288888888,她的手机号码13699999999";
//设置正则表达式,匹配以13开头11位字符串,全局匹配
var reg=/13(/d)(/d{8})/g;
//执行exec函数,尽管是全局匹配的正则表达式,但是exec方法只对指定的字符串进行一次匹配,获取字符串中第一个与正则表达式想匹配的内容,并且将匹配内容和子匹配的结果存储到返回的数组中
var arr=reg.exec(objStr);
//循环输出结果
for(var i=0;i<arr.length;i++){
document.write("<li>"+arr[i]+"<br>");
}
</script>
</html> 
(0)

相关推荐

  • js正则表达式test()和exec()用法实例

    本文实例讲述了js正则表达式test()和exec()用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <html> <head> <script type="text/javascript"> //正则.test(内容),返回true或false function t1(){  var con = document.getElementsByName('content')[0].value;//需要查找的内容  var reg = /h

  • js正则表达式中exec用法实例

    本文实例讲述了js正则表达式中exec用法.分享给大家供大家参考.具体如下: exec要注意以下几点: 1. exec返回的是一个数组 2. 该数组的属性有input(被匹配的整个字符串) index(匹配到第一个元素的开始位置) 3. lastIndex还有个匹配到第一个属性后,指向的位置 这个属性智能由RegExp 对象!!!来访问 4. 通过这个属性可以来获取 所用所匹配到字符的字符串 代码如下: function o_exec(){ var str="hjjh,catfff,dog,ca

  • 全面解析JS字符串和正则表达式中的match、replace、exec等函数

    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 正则表达式由于不经常使用,所以容易经常忘记,下面小编把常用的函数和功能,简明扼要的罗列在此,以备日后查看: RegExp对象的函数常用的有2个 1.test函数 用法:RegExpObject.test(string) 返回:如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回

  • 使用JS中的exec()方法构造正则表达式验证

    正则表达式,又称正规表示法.常规表示法.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 一.Javascript中的正则表达式 在Javascript中,可以使用RegExp对象构造正则表达.我们需要新建一个实例化的RegExp()对象,可以传入两个参数:第一个参数是匹配的模式,第二个参数是一

  • js正则表达式中test,exec,match方法的区别说明

    js正则表达式中test,exec,match方法的区别说明 test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1.", "");alert(reg.test(str)); // true exec exec 查找并返回当前的匹配结果,并以数组的形式返回.var str = "1a1b1c";var reg = new R

  • 在JavaScript的正则表达式中使用exec()方法

    exec方法为正则表达式匹配的文本搜索字符串.如果找到匹配,则返回结果数组; 否则,返回null. 语法 RegExpObject.exec( string ); 下面是参数的详细信息: string : 要搜索的字符串 返回值: 如果找到一个匹配,如果不为空,则返回匹配的文本. 例子: <html> <head> <title>JavaScript RegExp exec Method</title> </head> <body>

  • js正则表达式之exec方法讲解

    功能说明:该函数通过对指定你的字符串进行一次匹配检测,获取字符串中的第一个与正则表达式的内容,并且将匹配的内容和子匹配的结果存放在返回数组中 基本方法:objReg.exec(string) objReg,RegExp对象的名称 string,要进行匹配的字符串 正则表达式exec()函数: exec() 方法用于检索字符串中的正则表达式的匹配. 返回值是一个数组,但是此数组的内容和正则对象是否是全局匹配有着很大关系: 1.没有g修饰符: 在非全局匹配模式下,此函数的作用和match()函数是一

  • js正则表达式之search方法讲解

    功能:返回与正则表达式查找内容匹配的第一个子字符串的位置 语法:stringObj.search(rgExp) stringObj 必选项 rgExp正则表达式 返回值:search 方法指明是否存在相应的匹配.如果找到一个匹配,search方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置.如果没有找到匹配,则返回 -1 示例代码: 复制代码 代码如下: <html> <script language="javascript" type="text

  • js正则表达式简单校验方法

    对于字符串的一些操作,可以通过正则表达式来实现.一般的搜索操作想必大家已经学会,今天就来说说它的校验功能,这样可以帮助判断字符串类型或者是其它的组成,比如密码.中文.字符串的组成等.下面就js正则表达式的校验带来内容分享,同时要考虑在js中支持的类型. 1.常见js正则校验 (1)校验密码强度 密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间. ^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ (2)校验中文 字符串仅能是中文. ^

  • VUE引入第三方js包及调用方法讲解

    VUE引入第三方js包及调用方法 1.首先是第三方js包存放的位置 一定要放在 static 目录下否则引用不到 2.网上查找到的引用第三方包的四种方式 实测部分第三方js包没法使用,较稳定的方式是在 index.html 中引入js包 <script src="static/xxxxx.js"></script> 3.mounted 是初始化加载的方法 可以理解为jquery 中的页面加载完的初始化方法 如果第三方包有初始化需要调用的一些函数等 需要写在mou

  • js 正则表达式之test函数讲解

    功能介绍:该方法的返回值是布尔值,通过该值可以匹配字符串中是否存在于正则表达式相匹配的结果,如果有匹配内容,返回ture,如果没有匹配内容返回false,该方法常用于判断用户输入数据的合法性,比如检验Email的合法性 基本语法:objReg.test(objStr) objReg 必选项 RegExp对象名称 objStr 要进行匹配检测的字符串 讲解实例代码: 复制代码 代码如下: <html> <script language="javascript" type

  • js正则表达式之match函数讲解

    功能:使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回 函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项 返回值:如果能匹配则返回结果数组,如果不能匹配返回null 复制代码 代码如下: <html> <script language="javascript" type="text/javascript"> //使用正则表达式模式对字符串执行查找,并将包含查

  • js正则表达式常用函数详解

    一.js正则表达式之replace函数用法: 函数功能:replace函数返回根据正则表达式进行文字替换后的字符串的复制. 函数格式:stringObj.replace(rgExp, replaceText) 参数:字符串stringObj,rgExp正则表达式,replaceText所替换的内容 本模块涉及的内容包括字符串创建,正则表达式隐式创建对象,创建正则表达式,进行replace方法的使用匹配 示例代码: <html> <script language="javascr

  • JS正则表达式大全(整理详细且实用)

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*". ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配&q

随机推荐