正则
|
正则表达式的直接量字符 |
|
|
字符 |
匹配 |
|
字母数字字符 |
自身 |
|
\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);
}, "请输入正确的固定电话");

浙公网安备 33010602011771号