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

 更新时间:2016年08月01日 15:12:03   作者:fareise  
这篇文章主要介绍了使用JS中的exec()方法构造正则表达式验证的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

一、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]。

以上所述是小编给大家介绍的使用JS中的exec()方法构造正则表达式验证,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 微信小程序实现的图片保存功能示例

    微信小程序实现的图片保存功能示例

    这篇文章主要介绍了微信小程序实现的图片保存功能,结合实例形式分析了微信小程序wx.downloadFile({})及wx.saveImageToPhotosAlbum({})函数图片保存功能相关使用技巧,需要的朋友可以参考下
    2019-04-04
  • javascript实现的textarea运行框效果代码 不用指定id批量指定

    javascript实现的textarea运行框效果代码 不用指定id批量指定

    今天在写一个网页的时候用到了N多嵌套在textarea标签里的代码,定义双击运行其内的代码段。但是每次创建一个这样的可运行的实例都要给textarea元素自定义一个id值和写入双击事件,好不麻烦。
    2009-12-12
  • js,jq,css多方面实现简易下拉菜单功能

    js,jq,css多方面实现简易下拉菜单功能

    这篇文章主要介绍了js,jq,css多方面实现简易下拉菜单功能,需要的朋友可以参考下
    2017-05-05
  • JS实现在线ps功能详解

    JS实现在线ps功能详解

    这篇文章主要介绍了JS实现在线ps功能详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 纯js分页代码(简洁实用)

    纯js分页代码(简洁实用)

    纯js写的分页代码且简洁实用哦!需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • javascript 获取url参数和script标签中获取url参数函数代码

    javascript 获取url参数和script标签中获取url参数函数代码

    不要在方法中调用方法,否则可能始终获取的是最后一个js的文件的参数,要在方法中使用,请先用变量保存,在方法中直接获取
    2010-01-01
  • js制作支付倒计时页面

    js制作支付倒计时页面

    这篇文章主要为大家详细介绍了js制作支付倒计时页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • JS使用jsBarcode生成条形码(一维码)简单实例

    JS使用jsBarcode生成条形码(一维码)简单实例

    JsBarcode是一个用JavaScript编写的条形码生成器,它支持多种条形码格式,可在浏览器和Node.js中使用,下面这篇文章主要给大家介绍了关于JS使用jsBarcode生成条形码(一维码)的相关资料,需要的朋友可以参考下
    2023-03-03
  • 实例详解JS中的事件循环机制

    实例详解JS中的事件循环机制

    JavaScript是单线程的脚本语言,所以代码在执行的时候,只有一个主线程来执行所有的任务,同一个时间只能做同一件事情。本文就为大家详细讲解一下它的件循环机制,需要的可以参考一下
    2022-04-04
  • js事件源window.event.srcElement兼容性写法(详解)

    js事件源window.event.srcElement兼容性写法(详解)

    下面小编就为大家带来一篇js事件源window.event.srcElement兼容性写法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11

最新评论