正则

正则表达式的直接量字符

字符

匹配

字母数字字符

自身

\o

NUL字符(\u0000

\t

制表符(\u0009

\n

换行符(\u000A

\v

垂直制表符(\u000B

\f

换页符(\u000C

\r

回车(\u000D

\xnn

由十六进制数nn指定的拉丁字符,例如,\xoA等价于\n

\uxxxx

由十六进制xxxx指定的Unicode字符,例如,\u0009等价于\t

\cX

控制字符^X。例如,\cJ等价于换行符\n

 

正则表达式的字符类

字符

匹配

[...]

位于括号之内的任意字符

[^...]

不在括号之中的任意字符

.

除换行符和其他Unicode行终止符之外的任意字符

\w

任何ASCII单字字符,等价于[a-zA-Z0-9_]

\W

任何非ASCII单字字符,等价于[^a-zA-Z0-9_]

\s

任何Unicode空白字符

\S

任何非Unicode空白字符,注意\w\S的不同

\d

任何ASCII数字,等价于[0-9]

\D

除了ASCII数字之外的任何字符,等价于[^0-9]

\b

退格直接量(特例)

 

正则表达式的重复字符

字符

含义

{n,m}

匹配前一项至少n次,但是不能超过m

{n,}

匹配前一项n次,或更多次

{n}

匹配前一项恰好n

匹配前一项0次或1次,也就是说前一项是可选项,等价于{0,1}

+

匹配前一项1次或多次。等价于{1,}

*

匹配前一项0次或多次。等价于{0,}

\s

任何Unicode空白字符

\S

任何非Unicode空白字符,注意\w\S的不同

\d

任何ASCII数字,等价于[0-9]

\D

除了ASCII数字之外的任何字符,等价于[^0-9]

\b

退格直接量(特例)

 

正则表达式的选择、分组和引用字符

字符

信义

|

选择。匹配的是该符号左边的子表达式或右边的子表达式

(...)

组合。将几个项目组合为一个单元,这个单元可由*+、?和|等符号使用,而且还可以记住和这个组合匹配的字符以供此后的引用使用

(?:...)

只组合把项目组合到一个单元,但是不记忆与该组匹配的字符

\n

和第n个分组第一次匹配的字符相匹配。组是括号中的子表达式(可能是嵌套的)。组号是从左到右计数的左括号号数,以(?:分组的组不编码

 

正则表达式的锚字符

字符

信义

^

匹配字符串的开头,在多行检索中,匹配一行的开头

$

匹配字符串的结尾,在多行检索中,匹配一行的结尾

\b

字符\w和字符串的开头或结尾之间的位置(但注意,[\b]匹配的是退格符)

\B

匹配非词语边界的位置

(?=p)

正前向声明,要求接下来的字符都与模式p匹配,但是不包括匹配中的那些字符

(?!p)

反前向声明,要求接下来的字符不与模式p匹配

 

正则表达式的标志

字符

信义

i

执行不区分大小写的匹配

g

执行一个全局匹配。简而言之,即找到所有匹配,而不是找到第一个匹配之后就停止

m

多行模式,^匹配一行的开头和字符串的开头,$匹配一行的结尾或字符串的结尾

\B

匹配非词语边界的位置

JS 

 /vid=(.+)&/    匹配vid=后面的字符串,得到2个结果,r[1]是括号内的结果。


 //验证手机号码
 jQuery.validator.addMethod("phone", function(value, element) {
     var tel = /^(130|131|132|133|134|135|136|137|138|139|147|150|151|152|153|155|156|157|158|159|180|181|182|183|184|185|186|187|188|189)\d{8}$/;
     return tel.test(value) || this.optional(element);
  }, "请输入正确的手机号码");
 
 
 //验证QQ号码
 jQuery.validator.addMethod("qq", function(value, element) {
     var tel = /^[1-9][0-9]{4,}$/;
     return tel.test(value) || this.optional(element);
  }, "请输入正确的QQ号码");
 
 //验证身份证号码
 jQuery.validator.addMethod("cardid", function(value, element) {
     var card15 =/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
     var card18 =/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
    
     return card15.test(value) || card18.test(value) || this.optional(element);
  }, "请输入正确的15位或18位身份证号码");
 
 
 //国内固定号码
 jQuery.validator.addMethod("telephone", function(value, element) {
     var tel = /^\d{3,4}-?\d{7,8}$/;
     return tel.test(value) || this.optional(element);
  }, "请输入正确的固定电话");

 

posted @ 2013-07-22 17:22  kiss_myeyes  阅读(189)  评论(0)    收藏  举报