一.正则表达
也叫规则表达式,按照一定的规则组成的一个表达式,这个表达式主要匹配字符串的
二.正则表达式的组成
由元字符和限定符组成
1,元字符:
.:表示除了/n以外的
[]:表示的是一个范围eg;[ 2-8]表示2-8之间的数
[a-zA-Z]表示的所有字母的任意一个
|表示的是或,[0-9][a-z]
():表示的是分组:提升优先级
2.限定符
*:表示出现0或者多次
eg: [1-9][a-z]*
+;表示出现1或者多次
eg:([a-z]{2})+
?:表示出现0或者1次
eg:[a]\d? 表示任意一个数字出现0或者1次
{}:表示前面表达式出现的次数
[725]{4,6}//7或2或5出现4-6次
\d表示数字中的任意一个;
\D:表示非数字中的任意一个
\s表示空白符中的一个
\S表示非空白符
\w:表示非特殊符号[0-9A-Z_a-z]
\W:表示特殊符号
\b:表示单词的边界
3.正则表达式
书写规则:找规律,不追求完美
身份验证的正则表达式:
15位或者18位
([1-9][0-9]{14})|([1-9][0-9]{16}[0-9xX])
优化:
([1-9][0-9]{14})([0-9]{2}[0-9xX])?
邮箱的正则表达式:
eg: ss21122_3.-ff@qq.com.com
[0-9a-zA-Z.-]+[@][0-9a-zA-Z.-]+(.+){1,2}
二.创建正则表达式的对象
1.通过构造函数
new RegExp();
2.字面量的方式创建对象
var reg=new RegExp(/\d{5}/);
var str=‘我的电话是:10086’;
var flag=reg.test(str);
console.log(flag);
3.验证用户输入的是不是邮箱
var reg=/^[0-9a-zA-Z.-]+[@][0-9a-zA-Z.-]+(.+){1,2}$/;
reg.test(this.value);//this.value表示当前用户输入的值
4.验证用户输入的是不是汉字
[u4e00-u9fa5]