一.什么是正则表达式
正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。
正则表达式主要用来验证客户端的输入数据。用户填写完表单单击按钮之后,表单就会被发送到服务器,在服务器端通常会用PHP、
ASP.NET等服务器脚本对其进行进一步处理。因为客户端验证,可以节约大量的服务器端的系统资源,并且提供更好的用户体验。
正则表达式
一个正则表达式是由普通字符(如a~z)以及特殊字符(称为元字符)组成的模式字符串。
该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
1、字符类
幻灯片7
2、量词
3、指定匹配位置
4、使用选择匹配符
正则表达式的选择匹配符只有一个"|",使用"|"可以匹配指定的多个选项中的任意一项。
例如/World|Dream/可以匹配"One World One Dream"中的World或者Dream
5、分组
分组就是使用小括号将多个单独的字符或字符类组合成子表达式,以便可以像处理一个独立的单元那样,用"|"、"*"、"+"或者"?"等来处理他们。比如/J(ava)?Script/可以匹配JavaScript,也可以匹配JScript
正则表达式的创建
1、通过RegExp类的构造方法创建
\d{3}
语法格式:new RegExp(pattern[,flags])
pattern:必选参数,用于指定需要进行匹配的模式字符串。
flags:可选参数,用于指定正则表达式的标志信息。
g:全局标志。如果设置了该标志,对于某个文本执行搜索或者替换时,将对文本中的所有匹配部分起作用,否则仅搜索或替换第一次匹配的内容。
i:忽略大小写标志。
m:多行标志。如果不设置这个标志,那么^只能匹配字符串的开头,可以匹配多行字符串的每一行的结尾。
var objExp=new RegExp("\d",g);
正则表达式的创建
2、通过正则表达式字面量创建RegExp对象
正则表达式字面量由两条斜线//中间加入模式匹配字符串组成。如果还要指定标志信息,则在最后的斜线/后面加上标志信息,比如g或者i.
var objExp=/\d/g;
正则表达式的使用
3、使用test()方法进行模式匹配
test()方法用于对一个指定的字符串执行模式匹配,如果搜索到匹配的字符,返回true,否则返回false
var objExp=/\d/g;
objExp.test("abc");
正则表达式的使用
4、使用exec()方法进行模式匹配
exec()方法返回值不是true或者false,而是当没有搜索到匹配的字符时,返回null,
否则返回一个数组,这个数组的第一个元素包含与正则表达式相匹配的字符串,其他元素包含的是匹配的各个分组(用括号括起来的子表达式)
语法格式:
regExp.exec(str)
身份证案例
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H