使用js中的exec()方法构造正则表达式验证
2016-08-01 09:42
477 查看
一、Javascript中的正则表达式
在Javascript中,可以使用RegExp对象构造正则表达。我们需要新建一个实例化的RegExp()对象,可以传入两个参数:第一个参数是匹配的模式,第二个参数是一个可选项,可以传入三种参数。i表示不区分大小写,g表示全局匹配,即匹配所有的符合条件的字符串,m表示执行多次匹配。实例如下:
var reg = new RegExp("Hello", "i"); //表示匹配字符串中的Hello字符串,并且不区分大小写。
二、使用exec进行模式匹配
RegExp中有一个方法可以进行模式匹配并返回结果:exec()。该方法非常重要,基本是使用js进行模式匹配必用的函数。然而该函数的返回值有很多人并不清楚,因此在实际使用的时候经常会出错。在这里系统的介绍一些exec()的使用方法。
exec()的基本格式为:RegExpObject.exec(string),其中RegExpObject为设置好的正则匹配对象,string为待匹配的字符串。如果成功匹配,则返回一个数组;如果没有成功匹配的字符串部分,则返回null。
这里的重点就在于这个数组。数组返回的到底是什么呢?可以看一下下面这个实验.
var re = new RegExp("[?#&]" + user + "=([^]*)", "i")
这段代码进行了一个url的匹配,可以用来获得user=后面的参数部分,那么如果使用一个url并且用这个模式进行exec操作,结果会返回什么呢?比如我们有如下
www.qq.com?user=Tom&psw=123456
exec返回的数组结果为:[?user=Tom, Tom]。可以看到返回数组的第一个元素就是整个的匹配模式所匹配到的字符串,而第二个匹配到的字符恰好是参数值。这是exec匹配返回
的规则:第一个元素为整个的匹配字符串,从第二个参数开始返回模式中每一个()所定义的分组所匹配的字符串。这里面([^]*)返回的就是不以&或#开头的字符串,即后面对应的
参数。
如果我们将定义的模式修改为[?#&]" + (user) + "=([^]*),那么exec()后返回的数组就是[?user=Tom, user, Tom]。
在Javascript中,可以使用RegExp对象构造正则表达。我们需要新建一个实例化的RegExp()对象,可以传入两个参数:第一个参数是匹配的模式,第二个参数是一个可选项,可以传入三种参数。i表示不区分大小写,g表示全局匹配,即匹配所有的符合条件的字符串,m表示执行多次匹配。实例如下:
var reg = new RegExp("Hello", "i"); //表示匹配字符串中的Hello字符串,并且不区分大小写。
二、使用exec进行模式匹配
RegExp中有一个方法可以进行模式匹配并返回结果:exec()。该方法非常重要,基本是使用js进行模式匹配必用的函数。然而该函数的返回值有很多人并不清楚,因此在实际使用的时候经常会出错。在这里系统的介绍一些exec()的使用方法。
exec()的基本格式为:RegExpObject.exec(string),其中RegExpObject为设置好的正则匹配对象,string为待匹配的字符串。如果成功匹配,则返回一个数组;如果没有成功匹配的字符串部分,则返回null。
这里的重点就在于这个数组。数组返回的到底是什么呢?可以看一下下面这个实验.
var re = new RegExp("[?#&]" + user + "=([^]*)", "i")
这段代码进行了一个url的匹配,可以用来获得user=后面的参数部分,那么如果使用一个url并且用这个模式进行exec操作,结果会返回什么呢?比如我们有如下
www.qq.com?user=Tom&psw=123456
exec返回的数组结果为:[?user=Tom, Tom]。可以看到返回数组的第一个元素就是整个的匹配模式所匹配到的字符串,而第二个匹配到的字符恰好是参数值。这是exec匹配返回
的规则:第一个元素为整个的匹配字符串,从第二个参数开始返回模式中每一个()所定义的分组所匹配的字符串。这里面([^]*)返回的就是不以&或#开头的字符串,即后面对应的
参数。
如果我们将定义的模式修改为[?#&]" + (user) + "=([^]*),那么exec()后返回的数组就是[?user=Tom, user, Tom]。
相关文章推荐
- 使用JS中的exec()方法构造正则表达式验证
- JS中match、replace方法中使用正则表达式
- C#常用正则表达式验证(使用C#3.0扩展方法)(转)
- JS中match、replace方法中使用正则表达式
- js 正则表达式 验证方法
- 在js中使用正则表达式验证输入框内容
- 蛙蛙请教:js里的match方法和exec方法的区别,关于正则表达式的
- ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证
- JS字符串替换函数全部替换方法 JS 正则表达式如何使用变量
- 正则验证使用方法(java和js)
- JS中的正则表达式小小的技巧---TEST方法的使用
- C#验证控件使用方法及常用正则表达式例析
- JS中的正则表达式小小的技巧---Test方法的使用
- 验证输入是否为空的js - 使用正则表达式对象
- 使用js和正则表达式验证邮箱、手机号码、密码等
- js验证身份证号码的有效方法[1]以及密码验证和强度的验证 1 JS正则表达式 代码 .txt
- JS中match、replace方法中使用正则表达式
- 在Js中使用正则表达式验证输入时的注意点
- Js 正则表达式对象(方法:exec、test、match、search)