正则表达式总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、正则表达式的定义方法

在JavaScript中,正则表达式是由一个RegExp对象表示的,利用RegExp对象来完成有关正则表达式的操作和功能。

正则表达式的定义共有2种方式:

(1)显式定义;

(2)隐式定义;

1、显式定义

所谓的“显式”就是让大家一眼就看出这就是正则表达式的定义,足够明显。

显式定义必须是使用new关键词来定义。

语法:

var 变量名 = new RegExp("正则表达式模式");

说明:

显式定义的正则表达式必须要使用双引号括起来,这里要注意字符串的转义。

2、隐式定义

所谓的“隐式”指的是有点阴阴湿湿,没那么明显,大家可能一眼没有看出这是正则表达式的定义。

语法:

var 变量名 = /正则表达式模式/

说明:

隐式定义的正则表达式开头和结尾都必须是斜杠“/”。记得使用隐式定义的正则表达式是不需要使用双引号括起来的,这一点跟显式定义的正则表达式不一样!

隐式定义是最常用的方式,建议大家以后都使用这种方式定义正则表达式,代码量少并且方便。

举例:

varmyregex = new ReExp("[0-9]");

上面语句等价于下面:

varmyregex = /[0-9]/;

二、test()方法

在JavaScript中,可以使用RegExp对象的test()方法来指出被查出的字符串中是否匹配正则表达式模式。

语法:

regex.test(str)

说明:

regex为必选项,表示正则表达式模式。

str为必选项,表示字符串。

该方法返回一个boolean值。也就是说,test()方法检查字符串str是否符合正则表达式模式rgexp,如果符合,则返回true;如果不符合,则返回false。

怎么更好的理解test()方法呢?举个例子,验证邮政编码的正则表达式模式为“\d{6}”。“\d{6}”表示6个字符都是数字,如果某一个字符串符合“6个字符都是数字”这种模式,那么test()方法就返回true,如果不符合,则返回false。

例如字符串“510632”就符合正则表达式模式“\d{6}”。而字符串“abc123”或“lvyestudy”就不符合正则表达式模式“\d{6}”,因为“abc123”虽然是6个字符,但是不符合所有字符都是数字。而“lvyestudy”不符合得原因有2点:①字符超过6个字符;②字符都不是数字。

代码示例:

三、常用元字符

在正则表达式中,包括2种字符:

(1)普通字符;

(2)特殊字符(元字符);

普通字符就是a~z、0~9这类常见的字符。其中特殊字符又称为“元字符”。元字符之所以叫特殊字符,就是它的特点跟普通字符不一样。例如邮政编码中,我们限定只能输入6个数字,那“数字”这个概念怎么理解呢?这个时候我们就用到了元字符\d来代替。

正则表达式常用的元字符如下:

1、举例1

0\d{2}-\d{8}

分析:

其实上面这个正则表达式匹配的是中国的电话号码,以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字。\d{2}表示数字重复2次,\d{8}表示数字重复8次。记住,\d匹配是“数字”,很常用。{2}、{8}这些是限定符的内容。

2、举例2

3、举例3