JS RegExp类型
用来定义正则表达式的类型,
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类型的更多相关文章
- js中RegExp类型
ECMAScript通过RegExp类型来支持正则表达式. var expression = / pattern / flag ; pattern可以是任意的正则表达式.每个正则都带有标志,用以正则表 ...
- RegExp类型,单体内置对象
1.RegExp类型: 1)什么是正则表达式:RegExp --是一种规则,模式 --强大的字符串匹配工具 --创建: --使用RegExp构造函数创建:var re=new ...
- Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型
JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...
- 引用类型-RegExp类型
JavaScript高级程序设计(第三版)笔记-第五章-RegExp类型 定义正则表达式有两种方式 1.用字面量形式定义正则表达式: ver expression = /patterns/flags; ...
- RegExp类型exec()方法的返回值说明
之前看别人写的插件经常会用到RegExp对象来验证输入,并且获取一些那时我并不晓得是什么东西的数组,来取值进行自定义的逻辑处理.今天学习了一下RegExp类型.终于有了一个初步的了解,至少不会看一会就 ...
- 5.4 RegExp类型
ECMAScript通过RegExp类型来支持正则表达式.使用下面类似Perl的语法,就可以创建一个正则表达式. var expression=/pattern/flags; 复制代码 其中的模式(p ...
- 《JavaScript高级程序设计》读书笔记 ---RegExp 类型
ECMAScript 通过RegExp 类型来支持正则表达式.使用下面类似Perl 的语法,就可以创建一个正则表达式.var expression = / pattern / flags ; 其中的模 ...
- JS 强制类型转化
在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...
- js基本类型存放和对象存放的区别(对象遍历)
js的基本类型,对象类型的应用在初学的时候,需要自己加以明确,明确了数据类型,在使用过程中才能正确使用变量.如下两个例子是摘自初学时的笔记,为大家提供参考. 1.对象可以存放属性和方法,js基本类型不 ...
随机推荐
- 纯css3实现的switch开关按钮
效果如图 <p> <label><input class="mui-switch mui-switch-anim" type="checkb ...
- nunit单元测试详解
在粗略看了代码后,下面就详细说明相应的测试标记(属性)的用法. [TestFixture(arguments)]属性标记类为测试类,若没有填写参数,则测试类必须含有无参构造函数,否则需要相应的有参构造 ...
- WebService服务介绍与调用
一: WebService简介 WebService是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言的下的一个子集)标准来描述.发布.发现.协调 ...
- StackService.Redis 应用
如今StackService.Redis已经转向商业版本.4.0以下的低版本依然免费和开源. 吴双,Redis系列命令拾遗分享 http://www.cnblogs.com/tdws/tag/NoSq ...
- [转] 使用babel-plugin-react-css-modules简化CSS Modules的使用
在我们的产品中,均使用CSS Modules来作为样式解决方案,大致的代码是这样的: import React from 'react'; import styles from './table.cs ...
- ThinkPHP页面跳转success与error方法
首先是控制器中,可以使用下代码: config配置如下: 'TMPL_ACTION_ERROR' => 'Public:error', // 默认错误跳转对应的模板文件 'TMPL_ACTION ...
- AtCoder Regular Contest 094 (ARC094) CDE题解
原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...
- java生成二维码以及读取案例
今天有时间把二维码这块看了一下,方法有几种,我只是简单的看了一下 google 的 zxing! 很简单的一个,比较适合刚刚学习java的小伙伴哦!也比较适合以前没有接触过和感兴趣的的小伙伴,o ...
- 011 Linux环境下配置eclipse,以及创建maven工程
一:maven的安装 1.安装配置maven环境变量 2.验证 二:eclipse的安装 3.解压配置eclipse 4.启动eclipse,必须在虚拟机的eclipse下启动 5.结果 三:修改配置 ...
- POJ 1222 EXTENDED LIGHTS OUT (熄灯问题)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8417 Accepted: 5441 Description In an ...