完全理解正则表达式

正则表达式

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/

相关文章
相关标签/搜索