当前位置:首页 > 正则表达式总结
一、正则表达式的定义方法
在JavaScript中,正则表达式是由一个RegExp对象表示的,利用RegExp对象来完成有关正则表达式的操作和功能。 正则表达式的定义共有2种方式: (1)显式定义; (2)隐式定义; 1、显式定义
所谓的“显式”就是让大家一眼就看出这就是正则表达式的定义,足够明显。 显式定义必须是使用new关键词来定义。 语法:
var 变量名 = new RegExp(\正则表达式模式\说明:
显式定义的正则表达式必须要使用双引号括起来,这里要注意字符串的转义。 2、隐式定义
所谓的“隐式”指的是有点阴阴湿湿,没那么明显,大家可能一眼没有看出这是正则表达式的定义。 语法:
var 变量名 = /正则表达式模式/ 说明:
隐式定义的正则表达式开头和结尾都必须是斜杠“/”。记得使用隐式定义的正则表达式是不需要使用双引号括起来的,这一点跟显式定义的正则表达式不一样!
隐式定义是最常用的方式,建议大家以后都使用这种方式定义正则表达式,代码量少并且方便。 举例:
varmyregex = new ReExp(\上面语句等价于下面: 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个字符;②字符都不是数字。
代码示例: