元字符
. 匹配任意的字符
^ $ 匹配位置字符
^ 匹配字符串开始的位置
$ 匹配字符串结束的位置
匹配数字和字母(\w 和 \W)
\w 匹配数字和字母
\W 匹配非数字和字母
匹配数字和非数字(\d 和 \D)
\d 匹配数字
\D 匹配非数字
匹配空白字符(\s 和 \S)
\s 匹配空白字符
\S 匹配非空白字符
[] 匹配里面的任意字符
[^a-z]匹配除a和z之外的所有字符
+ 匹配重复一次或者多次
* 匹配重复0次或者多次
? 匹配重复1次或者0次
()分组匹配
| 或者
?: 分组匹配不捕获
捕获方法:RegExp.$1
?=元 正向肯定预查 表示肯定是元,但不匹配
?!=元 正向否定预查 表示肯定不是元,不匹配
?=@ 反向肯定预查 表示肯定是@,但不匹配
?!@ 反向否定预查 表示肯定不是@,不匹配
{4,8}最少4位 最多8位
正则实例对象的方法
test()
返回一个布尔值,表示当前模式是否能匹配参数字符串
exec()
用来返回匹配的结果。如果发现匹配,就返回一个数组,数组中的成员都是匹配的字符串,否则返回null
字符串方法
match()
对字符串进行正则匹配,返回匹配的结果
search()
返回第一个满足条件的匹配结果在整个字符串中的位置,如果没有任何匹配,则返回-1
replace()
可以替换匹配的值,他接受两个参数,第一个是正则表达式,表示模式,第二个是替换的内容
demo:
1.检查用户账号
var re = /^【a-zA-Z】\w{3,15}$/g;
2.匹配手机号
var re = /^1【3|5|8|7】\d{9}$/g;
3.匹配电话号码
var re = /^0\d{2,3}-?\d{7,8}$/g;
4.匹配身份证号
var re = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)\g;
5.匹配邮箱
var re = /【a-zA-Z0-9-._】+【@】【a-zA-Z0-9-._】+\.(com|cn|net)$/g;