^\d{3}$
^\d+(.\d{2})?$ 如果强制要求必须保留2位小数 就 将?改为+ 即 (.\d{2})+
/^\d+(.\d+)?KaTeX parse error: Undefined control sequence: \d at position 5: / /^\̲d̲*\.{0,1}\d{0,1}/
/^\d+.{0,1}\d*$/
/^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?KaTeX parse error: Undefined control sequence: \d at position 45: …|18[3|6|7|8|9])\̲d̲{8})/;电话号码
var isMoney = RegExp(/1*.?[0-9]{0,2}$/);//是否为合法金额
/**
- 判断输入变量是否包含特殊字符:比如附言、备注、地址。。。。
- 特殊字符 + / ? % & =
- @param {String} 要检查的变量值
- @return {bool} 是否包含特殊字符
*/
function containUrlSpecial( s )
{
var containUrlSpecial = RegExp(/[(+)(/)(?)(%)(&)(=)]+/);
return ( containUrlSpecial.test(s) );
}
function containUrlSpecials( s )
{
var containUrlSpecials = RegExp(/[~!\!\,\;\。@#$%^&*{}[]\/.,;:\:’"]+/);
return ( containUrlSpecials.test(s) );
}
unnull:’\S’,
unZero:’2[0-9]{0,4}’,
unNullForEnd:’\SKaTeX parse error: Can't use function '\u' in math mode at position 32: …Fixed:'^[A-Za-z\̲u̲2E80-\uFE4F]+’,
intege:"^-?[1-9]\d*
"
,
/
/
整
数
i
n
t
e
g
e
1
:
"
[
1
−
9
]
d
∗
", //整数 intege1:"^[1-9]\\d*
",//整数intege1:"[1−9]d∗", //正整数
intege2:"^-[1-9]\d*
"
,
/
/
负
整
数
n
u
m
:
"
(
[
+
−
]
?
)
d
∗
.
?
d
+
", //负整数 num:"^([+-]?)\\d*\\.?\\d+
",//负整数num:"([+−]?)d∗.?d+", //数字
num1:"3\d*|0
"
,
/
/
正
数
(
正
整
数
+
0
)
n
u
m
2
:
"
−
[
1
−
9
]
d
∗
∣
0
", //正数(正整数 + 0) num2:"^-[1-9]\\d*|0
",//正数(正整数+0)num2:"−[1−9]d∗∣0", //负数(负整数 + 0)
decmal:"^([±]?)\d*\.\d+KaTeX parse error: Got function '\newline' with no arguments as superscript at position 1: \̲n̲e̲w̲l̲i̲n̲e̲", //浮点数
decmal1:"4\d*.\d*|0.\d*[1-9]\d*
"
,
/
/
正
浮
点
数
d
e
c
m
a
l
2
:
"
−
(
[
1
−
9
]
d
∗
.
d
∗
∣
0.
d
∗
[
1
−
9
]
d
∗
)
", //正浮点数 decmal2:"^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)
", //正浮点数decmal2:"−([1−9]d∗.d∗∣0.d∗[1−9]d∗)", //负浮点数
decmal3:"^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)
"
,
/
/
浮
点
数
d
e
c
m
a
l
4
:
"
[
1
−
9
]
d
∗
.
d
∗
∣
0.
d
∗
[
1
−
9
]
d
∗
∣
0
?
.
0
+
∣
0
", //浮点数 decmal4:"^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0
", //浮点数decmal4:"[1−9]d∗.d∗∣0.d∗[1−9]d∗∣0?.0+∣0", //非负浮点数(正浮点数 + 0)
decmal5:"^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0KaTeX parse error: Undefined control sequence: \@ at position 54: …-9_+\\.\\-]{2,}\̲@̲(([0-9a-zA-Z\\-…", //邮件
color:"5{6}
"
,
/
/
颜
色
u
r
l
:
"
h
t
t
p
[
s
]
?
:
/
/
(
[
w
−
]
+
.
)
+
[
w
−
]
+
(
[
w
−
.
/
?
", //颜色 url:"^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?
",//颜色url:"http[s]?://([w−]+.)+[w−]+([w−./?", //url
chinese:“c6+
"
,
/
/
仅
中
文
a
s
c
i
i
:
"
[
x
00
−
x
F
F
]
+
", //仅中文 ascii:"^[\\x00-\\xFF]+
",//仅中文ascii:"[x00−xFF]+”, //仅ACSII字符
zipcode:"^\d{6}
"
,
/
/
邮
编
m
o
b
i
l
e
:
"
1
3
[
0
−
9
]
9
∣
15
[
012356789
]
[
0
−
9
]
8
∣
18
[
0256789
]
[
0
−
9
]
8
∣
147
[
0
−
9
]
8
", //邮编 mobile:"^13[0-9]{9}|15[012356789][0-9]{8}|18[0256789][0-9]{8}|147[0-9]{8}
",//邮编mobile:"13[0−9]9∣15[012356789][0−9]8∣18[0256789][0−9]8∣147[0−9]8", //手机号严格版
ip4:"^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)KaTeX parse error: Got function '\newline' with no arguments as superscript at position 1: \̲n̲e̲w̲l̲i̲n̲e̲", //非空
picture:"(.)\.(jpg|bmp|gif|jpeg|png|JPG|BMP|GIF|JPEG|PNG)
"
,
/
/
图
片
r
a
r
:
"
(
.
∗
)
.
(
r
a
r
∣
z
i
p
∣
7
z
i
p
∣
t
g
z
)
", //图片 rar:"(.*)\\.(rar|zip|7zip|tgz)
",//图片rar:"(.∗).(rar∣zip∣7zip∣tgz)", //压缩文件
rarzip:"(.)\.(rar|zip|RAR|ZIP)
"
,
/
/
压
缩
文
件
(
r
a
r
/
z
i
p
)
z
i
p
:
"
(
.
∗
)
.
(
z
i
p
∣
Z
I
P
)
", //压缩文件(rar/zip) zip:"(.*)\\.(zip|ZIP)
",//压缩文件(rar/zip)zip:"(.∗).(zip∣ZIP)", //压缩文件(rar/zip)
date:"^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}
"
,
/
/
日
期
q
q
:
"
[
1
−
9
]
∗
[
1
−
9
]
[
0
−
9
]
∗
", //日期 qq:"^[1-9]*[1-9][0-9]*
",//日期qq:"[1−9]∗[1−9][0−9]∗", //QQ号码
tel:"^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?
"
,
/
/
电
话
号
码
的
函
数
(
包
括
验
证
国
内
区
号
,
国
际
区
号
,
分
机
号
)
l
e
t
t
e
r
:
"
[
A
−
Z
a
−
z
]
+
", //电话号码的函数(包括验证国内区号,国际区号,分机号) letter:"^[A-Za-z]+
",//电话号码的函数(包括验证国内区号,国际区号,分机号)letter:"[A−Za−z]+", //字母
letter_u:"7+
"
,
/
/
大
写
字
母
l
e
t
t
e
r
l
:
"
[
a
−
z
]
+
", //大写字母 letter_l:"^[a-z]+
",//大写字母letterl:"[a−z]+", //小写字母
letter_n:"8+
"
,
/
/
字
母
或
数
字
l
e
t
t
e
r
f
o
u
r
:
"
[
A
−
Z
a
−
z
0
−
9
]
4
"
,
/
/
4
位
字
母
或
数
字
l
e
t
t
e
r
n
o
p
:
"
[
A
−
Z
a
−
z
0
−
9
]
5
,
20
", //字母或数字 letter_four:"^[A-Za-z0-9]{4}", //4位字母或数字 letter_nop:"^[A-Za-z0-9]{5,20}
",//字母或数字letterfour:"[A−Za−z0−9]4",//4位字母或数字letternop:"[A−Za−z0−9]5,20", //字母或数字
letter_un:"9+
"
,
/
/
大
写
字
母
或
数
字
u
s
e
r
n
a
m
e
:
"
[
A
−
Z
a
−
z
0
−
9
]
6
,
20
", //大写字母或数字 username:"^[A-Za-z0-9_]{6,20}
",//大写字母或数字username:"[A−Za−z0−9]6,20", //用户名
username_n:"10{1,20}KaTeX parse error: Undefined control sequence: \@ at position 76: …-9_+\\.\\-]{2,}\̲@̲(([0-9a-zA-Z\\-…",
username_c:"11+KaTeX parse error: Expected 'EOF', got '#' at position 26: … userpwd:"^[~!@#̲%^&()=|{}’:;’,\[\].<>/?~!@#¥%……&()————|{}【】‘;:“”’。,、?A-Za-z0-9]{8,15}
"
,
/
/
用
户
密
码
i
d
c
a
r
d
:
"
[
0
−
9
]
15
(
[
0
−
9
]
2
x
∣
[
0
−
9
]
2
X
∣
[
0
−
9
]
3
)
?
"
,
/
/
身
份
证
c
a
d
n
u
m
:
"
(
[
0
−
9
]
15
,
16
∣
[
0
−
9
]
19
)
", //用户密码 idcard:"^[0-9]{15}([0-9]{2}x|[0-9]{2}X|[0-9]{3})?", //身份证 cadnum:"^([0-9 ]{15,16}|[0-9 ]{19})
",//用户密码idcard:"[0−9]15([0−9]2x∣[0−9]2X∣[0−9]3)?",//身份证cadnum:"([0−9]15,16∣[0−9]19)", //卡号
phoneno:"^1[0-9]{10}
∣
(
(
0
(
[
0
−
9
]
3
∣
[
0
−
9
]
2
)
)
−
?
)
?
[
0
−
9
]
7
,
8
(
−
[
0
−
9
]
∗
)
?
|^((0([0-9]{3}|[0-9]{2}))-?)?[0-9]{7,8}(-[0-9]*)?
∣((0([0−9]3∣[0−9]2))−?)?[0−9]7,8(−[0−9]∗)?" , //电话号码
cardpwd:"12{6}
"
,
/
/
电
话
密
码
e
t
o
k
e
n
:
"
[
0
−
9
]
9
,
12
", //电话密码 etoken:"^[0-9]{9,12}
",//电话密码etoken:"[0−9]9,12", //电子口令
compnum:"13{6,40}
"
,
/
/
企
业
证
件
号
p
s
s
s
n
u
m
:
"
[
A
−
Z
a
−
z
0
−
9
]
5
,
20
", //企业证件号 psssnum:"^[A-Za-z0-9]{5,20}
",//企业证件号psssnum:"[A−Za−z0−9]5,20", //护照号
mobile_u:"^1[3-8][0-9]{9}
"
,
/
/
手
机
号
不
严
格
版
m
o
b
i
l
e
n
u
m
:
"
[
0
−
9
]
11
", //手机号不严格版 mobilenum:"^[0-9]{11}
",//手机号不严格版mobilenum:"[0−9]11", //11位数字
realname:"14{1,26}KaTeX parse error: Can't use function '\u' in math mode at position 31: …me:"^[A-Za-z0-9\̲u̲4E00-\u9FBB\u34…", //卡别名
chinses_nl:"15+KaTeX parse error: Can't use function '\u' in math mode at position 26: … chinses_e:"^([\̲u̲4E00-\uFA29]|[\…",//中英文带空格
chinses_e_nnum:"^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z])KaTeX parse error: Can't use function '\u' in math mode at position 36: …es_es:"^[A-Za-z\̲u̲4E00-\u9FBB\u34…", //中英文
chinses_nel:"16+
"
,
/
/
中
英
文
数
字
带
空
格
l
e
t
t
e
r
n
d
:
"
[
A
−
Z
a
−
z
0
−
9.
]
1
,
50
", //中英文数字带空格 letter_nd:"^[A-Za-z0-9.]{1,50}
",//中英文数字带空格letternd:"[A−Za−z0−9.]1,50", //英文数字和点
letter_ns:"17{1,100}
"
,
/
/
英
文
数
字
和
点
v
a
l
L
o
w
:
"
[
1
−
9
]
∣
[
1
−
9
]
[
0
−
9
]
∣
[
1
]
[
0
−
9
]
2
∣
200
", //英文数字和点 valLow:"^[1-9]|[1-9][0-9]|[1][0-9]{2}|200
",//英文数字和点valLow:"[1−9]∣[1−9][0−9]∣[1][0−9]2∣200", //1-200
valUp:"18|[1-9][0-9]|[1-9][0-9]{2}|1000
"
,
/
/
1
−
1000
v
a
l
D
a
y
:
"
[
1
−
9
]
∣
[
1
−
9
]
[
0
−
9
]
∣
[
1
−
9
]
[
0
−
9
]
2
∣
[
1
−
9
]
[
0
−
9
]
3
", //1-1000 valDay:"^[1-9]|[1-9][0-9]|[1-9][0-9]{2}|[1-9][0-9]{3}
",//1−1000valDay:"[1−9]∣[1−9][0−9]∣[1−9][0−9]2∣[1−9][0−9]3", //1-9999
valMonth:"19|[1-9][0-9]|[1-9][0-9]{2}|[1-9][0-9]{3}|[1-9][0-9]{4}|[1-2][0-9]{5}
"
,
/
/
1
−
299999
v
e
r
n
u
m
:
"
[
0
−
9
]
.
[
0
−
9
]
.
[
0
−
9
]
",//1-299999 vernum: "^[0-9]\\.[0-9]\\.[0-9]
",//1−299999vernum:"[0−9].[0−9].[0−9]", //版本号
orgcode:"20{9}
"
,
/
/
组
织
机
构
代
码
c
u
s
t
o
m
:
"
[
0
−
9
]
15
", //组织机构代码 custom:"^[0-9]{15}
",//组织机构代码custom:"[0−9]15", //商户号
mcccode:"21{4}
"
,
/
/
M
c
c
码
a
n
r
o
d
i
d
:
"
[
A
−
Z
a
−
z
0
−
9
:
]
17
", //Mcc码 anrodid:"[A-Za-z0-9:]{17}
",//Mcc码anrodid:"[A−Za−z0−9:]17", //安卓设备
appid:"[A-Za-z0-9-]{36}
"
,
/
/
苹
果
设
备
s
t
u
d
e
n
t
i
d
:
"
[
A
−
Z
a
−
z
0
−
9
]
8
,
15
", //苹果设备 studentid:"^[A-Za-z0-9]{8,15}
",//苹果设备studentid:"[A−Za−z0−9]8,15",//学号
imgTitle:"^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9])
"
,
/
/
中
英
文
带
空
格
,
图
片
标
题
正
则
h
o
s
t
n
a
m
e
:
"
(
(
[
a
−
z
0
−
9
−
]
1
,
62
.
)
?
[
a
−
z
0
−
9
−
]
2
,
62
.
(
[
a
−
z
0
−
9
−
]
1
,
62
.
)
?
[
a
−
z
0
−
9
]
2
,
5
)
?
",//中英文带空格,图片标题正则 hostname:"^(([a-z0-9\\-]{1,62}\\.)?[a-z0-9\\-]{2,62}\\.([a-z0-9\\-]{1,62}\\.)?[a-z0-9]{2,5})?
",//中英文带空格,图片标题正则hostname:"(([a−z0−9−]1,62.)?[a−z0−9−]2,62.([a−z0−9−]1,62.)?[a−z0−9]2,5)?",//域名
link : "<link\s(.?)\s(({FNXXXXFN}>)|(/>)|(</link>))" //匹配link 标签
script : "<script[^=XXFN}>[\s\S]?</{FNXX=]script>" //匹配script 标签
unhtml : “/<\W+>/gi” //匹配不合法html 标签
html : "<(\S?) {FNXXXXFN}>.?</\1>|<.?/>" //匹配html 标签
user : “^\w+
"
/
/
支
配
英
文
数
字
下
划
线
p
a
s
s
w
o
r
d
:
"
/
[
a
−
z
0
−
9
]
+
" //支配英文数字下划线 password : "/^[a-z0-9]+
"//支配英文数字下划线password:"/[a−z0−9]+/i” //支配英文数字
space : "/(^\s)|(\s*
)
/
"
/
/
匹
配
行
首
行
尾
空
白
/
统
一
社
会
信
用
代
码
−
−
>
(
[
15
]
[
1239
]
∣
9
[
123
]
∣
Y
1
)
(
1
[
1
−
5
]
∣
2
[
1
−
3
]
∣
3
[
1
−
7
]
∣
4
[
1
−
6
]
∣
5
[
0
−
4
]
∣
6
[
1
−
5
]
)
[
0
−
9
]
4
[
0
−
9
A
−
Z
]
8
[
0
−
9
X
]
[
0
−
9
A
−
H
J
K
L
M
N
P
Q
R
T
U
W
X
Y
]
)/" // 匹配行首行尾空白 /统一社会信用代码--> ^([15][1239]|9[123]|Y1)(1[1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]|6[1-5])[0-9]{4}[0-9A-Z]{8}[0-9X][0-9A-HJKLMNPQRTUWXY]
)/"//匹配行首行尾空白/统一社会信用代码−−>([15][1239]∣9[123]∣Y1)(1[1−5]∣2[1−3]∣3[1−7]∣4[1−6]∣5[0−4]∣6[1−5])[0−9]4[0−9A−Z]8[0−9X][0−9A−HJKLMNPQRTUWXY]
re = /^0\d{2,3}-?\d{7,8}$/ 电话号码可以用
用户名正则
//用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /22{4,16}KaTeX parse error: Undefined control sequence: \d at position 142: …*(?=.{6,})(?=.*\̲d̲)(?=.*[A-Z])(?=…%^&? ]).KaTeX parse error: Expected 'EOF', got '#' at position 56: …est("caibaojian#̲")); 3 整数正则 //正…/;
//负整数正则
var negPattern = /^-\d+KaTeX parse error: Undefined control sequence: \d at position 32: …tPattern = /^-?\̲d̲+/;
//输出 true
console.log(posPattern.test(“42”));
//输出 true
console.log(negPattern.test("-42"));
//输出 true
console.log(intPattern.test("-42"));
4 数字正则
可以是整数也可以是浮点数
//正数正则
var posPattern = /^\d*.?\d+KaTeX parse error: Undefined control sequence: \d at position 31: …egPattern = /^-\̲d̲*\.?\d+/;
//数字正则
var numPattern = /^-?\d*.?\d+KaTeX parse error: Undefined control sequence: \- at position 169: … /^([A-Za-z0-9_\̲-̲\.])+\@([A-Za-z…/;
//输出 true
console.log(ePattern.test(“99154507@qq.com”));
6 手机号码正则
//手机号正则
var mPattern = /^1[34578]\d{9}KaTeX parse error: Undefined control sequence: \d at position 140: …ar cP = /^[1-9]\̲d̲{5}(18|19|([23]…/;
//输出 true
console.log(cP.test(“11010519880605371X”));
8 URL正则
//URL正则
var urlP= /^((https?|ftp|file)😕/)?([\da-z.-]+).([a-z.]{2,6})([/\w .-])/?KaTeX parse error: Can't use function '\.' in math mode at position 140: …1]?[0-9][0-9]?)\̲.̲){3}(?:25[0-5]|…/;
//输出 true
console.log(ipP.test(“115.28.47.26”));
10 十六进制颜色正则
//RGB Hex颜色正则
var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})KaTeX parse error: Expected 'EOF', got '#' at position 41: …cPattern.test("#̲b8b8b8")); 11 日…/;
//输出 true
console.log(dP1.test(“2017-05-11”));
//输出 true
console.log(dP1.test(“2017-15-11”));
//日期正则,复杂判定
var dP2 = /^(?😦?!0000)[0-9]{4}-(?😦?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)
/
;
/
/
输
出
t
r
u
e
c
o
n
s
o
l
e
.
l
o
g
(
d
P
2.
t
e
s
t
(
"
2017
−
02
−
11
"
)
)
;
/
/
输
出
f
a
l
s
e
c
o
n
s
o
l
e
.
l
o
g
(
d
P
2.
t
e
s
t
(
"
2017
−
15
−
11
"
)
)
;
/
/
输
出
f
a
l
s
e
c
o
n
s
o
l
e
.
l
o
g
(
d
P
2.
t
e
s
t
(
"
2017
−
02
−
29
"
)
)
;
12
Q
Q
号
码
正
则
/
/
Q
Q
号
正
则
,
5
至
11
位
v
a
r
q
q
P
a
t
t
e
r
n
=
/
[
1
−
9
]
[
0
−
9
]
4
,
10
/; //输出 true console.log(dP2.test("2017-02-11")); //输出 false console.log(dP2.test("2017-15-11")); //输出 false console.log(dP2.test("2017-02-29")); 12 QQ号码正则 //QQ号正则,5至11位 var qqPattern = /^[1-9][0-9]{4,10}
/;//输出trueconsole.log(dP2.test("2017−02−11"));//输出falseconsole.log(dP2.test("2017−15−11"));//输出falseconsole.log(dP2.test("2017−02−29"));12QQ号码正则//QQ号正则,5至11位varqqPattern=/[1−9][0−9]4,10/;
//输出 true
console.log(qqPattern.test(“65974040”));
13 微信号正则
//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
var wxPattern = /23([-a-zA-Z0-9]{5,19})+
/
;
/
/
输
出
t
r
u
e
c
o
n
s
o
l
e
.
l
o
g
(
w
x
P
a
t
t
e
r
n
.
t
e
s
t
(
"
c
a
i
b
a
o
j
i
a
n
c
o
m
"
)
)
;
14
车
牌
号
正
则
/
/
车
牌
号
正
则
v
a
r
c
P
a
t
t
e
r
n
=
/
[
京
津
沪
渝
冀
豫
云
辽
黑
湘
皖
鲁
新
苏
浙
赣
鄂
桂
甘
晋
蒙
陕
吉
闽
贵
粤
青
藏
川
宁
琼
使
领
A
−
Z
]
1
[
A
−
Z
]
1
[
A
−
Z
0
−
9
]
4
[
A
−
Z
0
−
9
挂
学
警
港
澳
]
1
/; //输出 true console.log(wxPattern.test("caibaojian_com")); 14 车牌号正则 //车牌号正则 var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}
/;//输出trueconsole.log(wxPattern.test("caibaojiancom"));14车牌号正则//车牌号正则varcPattern=/[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A−Z]1[A−Z]1[A−Z0−9]4[A−Z0−9挂学警港澳]1/;
//输出 true
console.log(cPattern.test(“粤B39006”));
15 包含中文正则
//包含中文正则
var cnPattern = /[\u4E00-\u9FA5]/;
//输出 true
console.log(cnPattern.test(“蔡宝坚”));
16 中文姓名正则
// 中文姓名正则
var reg = /^([\u4e00-\u9fa5]{2,20}|([a-zA-Z]+\s?){2,20})
/
;
/
/
输
出
t
r
u
e
c
o
n
s
o
l
e
.
l
o
g
(
r
e
g
.
t
e
s
t
(
"
张
三
"
)
)
;
17
校
验
数
字
的
j
s
表
达
式
1
数
字
:
[
0
−
9
]
∗
/; // 输出 true console.log(reg.test("张三")); 17 校验数字的js表达式 1 数字:^[0-9]*
/;//输出trueconsole.log(reg.test("张三"));17校验数字的js表达式1数字:[0−9]∗
2 n位的数字:^\d{n}$
3 至少n位的数字:^\d{n,}$
4 m-n位的数字:^\d{m,n}$
5 零和非零开头的数字:^(0|[1-9][0-9])$
6 非零开头的最多带两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$
7 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$
8 正数、负数、和小数:^(-|+)?\d+(.\d+)?$
9 有两位小数的正实数:24+(.[0-9]{2})?$
10 有1~3位小数的正实数:25+(.[0-9]{1,3})?$
11 非零的正整数:26\d*$ 或 ^([1-9][0-9]){1,3}$ 或 ^+?[1-9][0-9]$
12 非零的负整数:^-[1-9][]0-9"$ 或 ^-[1-9]\d$
13 非负整数:^\d+$ 或 27\d*|0$
14 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非负浮点数:^\d+(.\d+)?$ 或 28\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$
16 非正浮点数:^((-\d+(.\d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$
17 正浮点数:29\d*.\d*|0.\d*[1-9]\d*$ 或 ^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$
18 负浮点数:^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$ 或 ^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))$
19 浮点数:^(-?\d+)(.\d+)?$ 或 ^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$
18 校验字符的js正则表达式
1 汉字:30{0,}$
2 英文和数字:31+$ 或 32{4,40}$
3 长度为3-20的所有字符:^.{3,20}$
4 由26个英文字母组成的字符串:33+$
5 由26个大写英文字母组成的字符串:34+$
6 由26个小写英文字母组成的字符串:35+$
7 由数字和26个英文字母组成的字符串:36+$
8 由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
9 中文、英文、数字包括下划线:37+$
10 中文、英文、数字但不包括下划线等符号:38+$ 或 39{2,20}$
11 可以输入含有^%&’,;=?KaTeX parse error: Can't use function '\"' in math mode at position 1: \̲"̲等字符:[^%&',;=?\x22]+
12 禁止输入含有的字符:[^\x22]+
19 特殊需求js正则表达式
1 Email邮箱地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$ 另外一个: /40+@([A-Za-z0-9-]+.)+[A-Za-z]{2,4}KaTeX parse error: Undefined control sequence: \s at position 108: …:[a-zA-z]+://[^\̲s̲]* 或 ^http://([…
4 手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ 另外一个:/^1[3|4|5|7|8]\d{9}KaTeX parse error: Can't use function '\(' in math mode at position 101: …XXX): ^(\̲(̲\d{3,4}-)|\d{3.…
6 国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7} //懒人建站 http://www.51xuediannao.com/
7 身份证号:
15或18位身份证:^\d{15}|\d{18}$
15位身份证:41\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
18位身份证:42\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$
8 短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]
{8,18}?$
9 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):43[a-zA-Z0-9]{4,15}$
10 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):44\w{5,17}$
11 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.\d)(?=.[a-z])(?=.[A-Z]).{8,10}$
12 日期格式:^\d{4}-\d{1,2}-\d{1,2}
13 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$
14 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
20 钱的输入格式
16 有四种钱的表示形式我们可以接受:“10000.00” 和 “10,000.00”, 和没有 “分” 的 “10000” 和 “10,000”:45[0-9]$
17 这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9])$
18 一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9])$
19 这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:46+(.[0-9]+)?$
20 必须说明的是,小数点后面至少应该有1位数,所以"10.“是不通过的,但是 “10” 和 “10.2” 是通过的:47+(.[0-9]{2})?$
21 这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:48+(.[0-9]{1,2})?$
22 这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:49{1,3}(,[0-9]{3})(.[0-9]{1,2})?$
23 1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3}))(.[0-9]{1,2})?$
24 备注:这就是最终结果了,别忘了”+“可以用”"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里
25 xml文件:^([a-zA-Z]±?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$
26 中文字符的正则表达式:[\u4e00-\u9fa5]
27 双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
28 空白行的正则表达式:\n\s\r (可以用来删除空白行)
29 HTML标记的正则表达式:<(\S*?)[^>]>.?</\1>|<.? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)
30 首尾空白字符的正则表达式:^\s|\s*KaTeX parse error: Undefined control sequence: \s at position 4: 或(^\̲s̲*)|(\s*) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
31 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)
32 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
33 IP地址:\d+.\d+.\d+.\d+ (提取IP地址时有用)
34 不能为空:/\S/
35 匹配空行:^(\s*)\n
0-9 ↩︎
1-9 ↩︎
1-9 ↩︎
1-9 ↩︎
a-fA-F0-9 ↩︎
\u4E00-\u9FA5\uF900-\uFA2D ↩︎
A-Z ↩︎
A-Za-z0-9 ↩︎
A-Z0-9 ↩︎
A-Za-z0-9_ ↩︎
A-Za-z0-9_\u4E00-\u9FBB\u3400-\u4DBF\uF900-\uFAD9\u3000-\u303F\u2000-\u206F\uFF00-\uFFEF ↩︎
0-9 ↩︎
A-Za-z0-9 ↩︎
A-Za-z \u4E00-\u9FBB\u3400-\u4DBF\uF900-\uFAD9\u3000-\u303F\u2000-\u206F\uFF00-\uFFEF ↩︎
A-Za-z0-9\u4E00-\u9FBB\u3400-\u4DBF\uF900-\uFAD9\u3000-\u303F\u2000-\u206F\uFF00-\uFFEF ↩︎
A-Za-z0-9\u4E00-\u9FBB\u3400-\u4DBF\uF900-\uFAD9\u3000-\u303F\u2000-\u206F\uFF00-\uFFEF\· ↩︎
A-Za-z0-9\.\-_@ ↩︎
1-9 ↩︎
1-9 ↩︎
0-9A-Z ↩︎
0-9 ↩︎
a-zA-Z0-9_- ↩︎
a-zA-Z ↩︎
0-9 ↩︎
0-9 ↩︎
1-9 ↩︎
1-9 ↩︎
1-9 ↩︎
1-9 ↩︎
\u4e00-\u9fa5 ↩︎
A-Za-z0-9 ↩︎
A-Za-z0-9 ↩︎
A-Za-z ↩︎
A-Z ↩︎
a-z ↩︎
A-Za-z0-9 ↩︎
\u4E00-\u9FA5A-Za-z0-9_ ↩︎
\u4E00-\u9FA5A-Za-z0-9 ↩︎
\u4E00-\u9FA5A-Za-z0-9 ↩︎
A-Za-z0-9._%- ↩︎
1-9 ↩︎
1-9 ↩︎
a-zA-Z ↩︎
a-zA-Z ↩︎
1-9 ↩︎
0-9 ↩︎
0-9 ↩︎
0-9 ↩︎
0-9 ↩︎