用来定义正则表达式的类型,

1. 通常情况下,我们可以直接用字面量形式来定义正则表达式,格式如下:

  var expression = /pattern/flags

  pattern为正则表达式

  flags为标志,表明正则表达式的行为

    g: 表示全局模式,被应用于所有字符串,并非发现一个就停止

    i: 表示不区分大小写

    m: 表示多行模式,会换行进行匹配

2.我们也可以用RegExp构造函数来定义正则表达式

  接收两个参数,一个是要匹配的字符串模式,第二个是标志

  例如: var pattern1 = / [bc]at /i;

      var pattern2 = new RegExp("[bc]at", "i")   //与pattern1等价

区别:字面量创建的正则表达式只会创建一个RegExp实例,而RegExp构造函数创建在每次迭代时都会创建新的

3.RegExp实例属性: lastIndex 开始搜索下一个匹配项的的字符位置,从0算起

4.RegExp 实例方法

(1)exec() 专门为捕获组而设计的,接收一个参数,为要应用模式的字符串,返回包含第一个匹配项的信息,返回的数组都是Array的实例

  包含两个额外的属性,index和input  index表示匹配项在字符串中的位置,input表示应用正则表达式的字符串

  例如:

    var text = "mom and dad and baby";

    var pattern = /mom( and dad ( and baby)?)? /gi;

    var matches = pattern.exec(text);

    match.index   // 0

    match.input // "mom and dad and baby"

    match[0] // "mom and dad and baby"

    match[1] // "and dad and baby"

    match[2] // "and baby"

   对于exec()方法而言,即使设置了全局标志g,它每次也只会返回一个匹配项,若没设置g ,在同一个字符串上多次调用,它只会返回第一个匹配项

    设置了全局标志,它会在字符串中继续查找新项

(2)text()方法 接收一个字符串参数,在模式与该参数匹配的情况下返回true ,否则返回false

  可以快速检验字符串是否与正则匹配

  可验证用户输入是否有效

JS RegExp类型的更多相关文章

  1. js中RegExp类型

    ECMAScript通过RegExp类型来支持正则表达式. var expression = / pattern / flag ; pattern可以是任意的正则表达式.每个正则都带有标志,用以正则表 ...

  2. RegExp类型,单体内置对象

    1.RegExp类型:  1)什么是正则表达式:RegExp    --是一种规则,模式    --强大的字符串匹配工具    --创建:    --使用RegExp构造函数创建:var re=new ...

  3. Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型

    JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...

  4. 引用类型-RegExp类型

    JavaScript高级程序设计(第三版)笔记-第五章-RegExp类型 定义正则表达式有两种方式 1.用字面量形式定义正则表达式: ver expression = /patterns/flags; ...

  5. RegExp类型exec()方法的返回值说明

    之前看别人写的插件经常会用到RegExp对象来验证输入,并且获取一些那时我并不晓得是什么东西的数组,来取值进行自定义的逻辑处理.今天学习了一下RegExp类型.终于有了一个初步的了解,至少不会看一会就 ...

  6. 5.4 RegExp类型

    ECMAScript通过RegExp类型来支持正则表达式.使用下面类似Perl的语法,就可以创建一个正则表达式. var expression=/pattern/flags; 复制代码 其中的模式(p ...

  7. 《JavaScript高级程序设计》读书笔记 ---RegExp 类型

    ECMAScript 通过RegExp 类型来支持正则表达式.使用下面类似Perl 的语法,就可以创建一个正则表达式.var expression = / pattern / flags ; 其中的模 ...

  8. JS 强制类型转化

    在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...

  9. js基本类型存放和对象存放的区别(对象遍历)

    js的基本类型,对象类型的应用在初学的时候,需要自己加以明确,明确了数据类型,在使用过程中才能正确使用变量.如下两个例子是摘自初学时的笔记,为大家提供参考. 1.对象可以存放属性和方法,js基本类型不 ...

随机推荐

  1. 微信小程序--代码构成---JSON 配置

    在上一章中,我们通过开发者工具快速创建了一个 QuickStart 项目.你可以留意到这个项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模板文件 ...

  2. Java装饰者模式

    定义:在不改变原有对象的基础上,将功能附加到对象自上 提供了比继承更有弹性的替代方案(扩展原有对象功能) 类型:结构型 扩展一个类的功能或给一个类添加附加职责 动态的给一个对象添加功能,这些功能可以再 ...

  3. Git 从 master 分支拉新分支开发

    一. 切换到被copy的分支(master),并且从远端拉取最新版本 $git checkout master $git pull 二.从当前分支拉copy开发分支 $git checkout -b ...

  4. Java集合源码学习(三)LinkedList

    前面学习了ArrayList的源码,数组是顺序存储结构,存储区间是连续的,占用内存严重,故空间复杂度很大.但数组的二分查找时间复杂度小,为O(1),数组的特点是寻址容易,插入和删除困难.今天学习另外的 ...

  5. Python Web开发问题收集(二)

  6. 51Nod1863 Travel 主席树 最短路 Dijkstra 哈希

    原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1863.html 题目传送门 - 51Nod1863 题意 有 n 个城市,有 m 条双向路径连通它们 ...

  7. MATLAB的一些使用的快捷键整理

    1.用TAB键可以实现缩进,怎么缩进和取消缩进呢? 在使用脚本编写matlab的程序时,我们通过选中需要的程序,按下tab键就能缩进整个程序.同样的,当我们需要取消缩进时,我们的快捷方法就是:shif ...

  8. Hdu-2008

    杭电OJ-2008 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2008 #include<stdio.h> int main() { i ...

  9. VDOM总结

    https://segmentfault.com/a/1190000016129036

  10. POJ 1284 Primitive Roots (欧拉函数+原根)

    <题目链接> 题目大意: 满足{ ( $x^{i}$ mod p) | 1 <=$i$ <= p-1 } == { 1, …, p-1 }的x称为模p的原根.给出p,求原根个数 ...