正则表达式
1、声明有两种方式:
一、内置对象建立, 二、字面量建立正则表达式
2、正则表达式的组成
由一些普通字符和元字符组成,普通字符就是字母和数字,元字符是具备特殊意义的字符url
3、正则表达式五大内部类:(只要有一个字符知足条件,就是true)
(1)预约义类:(通配,数字字符,单词字符,空白字符)spa
(2)简单内部类.net
/sjdfi/ 必须是完整的包含指定字符,能够多,但不能少对象
/[suej]/ 只要知足中括号中的一个就能够blog
(3)负向类字符串
/[^abc]/ 取反,^符号在[]中,用来检测的字符串数量不够或者刚恰好知足其中一个字符,返回false。超出规定数量或者没有一个与指定字符相符,就是知足条件,返回true.get
(4)范围类it
规定一个范围进行检测io
[a-z] [A-Z] 只要检测的值一个知足给定范围,返回true
(5)组合类
[a-zA-Z0-9$%*] 多个断定条件组合在一块儿
4、正则边界
/^abc/ ^ 以给定字符开头 (注意:在[]中括号中是取反,不在中括号中是以什么开头)
/zfg$/ $ 以给定字符结尾,
^和$在一块儿使用,表示精确匹配,必须是这个[^abc$];
/^\w/ 表示以字母,数字或者下划线开头的字符
/^\w$/ 当有了先后的边界,只能匹配单个字符,要想匹配多个,就要用到量词。
5、正则量词(量词使用在先后都有边界的状况下,而且一个量词跟一个标准)
(1)* >=0 模板给定的字符能够出现一次或者屡次,但不能出现其余字符
Var reg = /^a*$/; a能够出现0次或者屡次,不能出现其余任何字符
/^abc*$/ 这种状况,能够出现屡次c,但ab只能出现一次,且出现顺序是 abccc,不能调换。要想每一个字符均可以出现屡次,那么每一个字符后面都要跟上量词,而且顺序也不能换
/^a*b+c?$/ aaabbbbc; true; abcabc; false;
(2)+ >=1 给定字符至少出现一次
/^a+$/
(3)? 0||1 给定字符出现0次或者1次
/^z?$/; z只能出现0次或者1次
/^\w+$/; 能够出现屡次一样的字母,数字,下划线
/^[abc]+$/; 能够屡次出现[abc]中的任意一个字符,但不能超出abc这三个字符的范围
(4){} 大括号中的数字限定模板字符出现的个数
/^[abc]{2}$/; 能够出现模板中的任意两个字符
/^abc{2}$/; 规定必须完整的出现abc,而且c出现量词(一个量词跟一个标准,没有任何包裹的字母均可以当作一个断定标准,/abc/这种形式属于简单内部类)
(5){2,} 出现大于等于2次
/^\w{3,}$/; 出现字母,数字,下划线的次数大于等于三次
/^ab{4,}c{2,}d$/ 必须以这个顺序依次出现,b的次数要大于等于4次,c的次数要大于等于2,d最后一次出现结尾。
(6){2,5} 出现2次到5次(包括)
/^[a-zA-Z]{2,5}$/ a-z,A-Z这个范围类的字符出现2-5次(大于等于2,小于等于5)
(7)| 只能用在简单内部类且不带任何包裹的断定添加上(能够加括号)
/^abc|def$/; 知足abc开头或者def结尾的均可以
6、正则实例
(1)匹配手机号 var reg = /^1[3458]\d{9}$/.
(2)匹配固定电话 var reg = /^(0\d{2}[\-]\d{8})|(0\d{3}[\-]\d{7})$/;
知足0开头,中间两位是0-9之间的数字,第三位是-(须要转义字符转义,不然即便[范围链接符]),最后8位是0-9的数字
(3)匹配qq号 var reg = /^[1-9][0-9]{4,10}$/
(4)匹配邮箱(注意,特殊字符须要转义)
var reg = /^[\w\-\.]+\@[\w]+\.[\w]{2,4}$/
参考资料: w3c 善知堂教育http://www.itszt.com/