常用正则:
可以不加区号,可以不加-: /((^0d{2,3})-?)?d{7,8}$/.test('0107111112’)
必须加区号,-可以有,可以没有: /^0d{2,3}-?d{7,8}$/.test('0107111113')
必须加区号和-: /0d{2,3}-d{7,8}/.test(’010-71111112’)
/^1[3|4|5|7|8|9]d{9}$/
正则表达式字符的意义:
[ ]:范围描述符。[a-z]表示从a到z之间的任意一个。
w: 英文字母和数字。即[0-9 A-Z a-z]。
W: 非英文字母和数字
s: 空字符,即[
f]。
S: 非空字符。
d: 数字,即[0-9]。
D: 非数字。
b: 词边界字符(在范围描述符外部时)
B: 非词边界字符
b: 退格符(0x08)(在范围描述符内部时)
*: 前面元素出现0次以上
+: 前面元素出现1次以上
{m,n}: 前面元素最少出现m次,最多出现n次
?: 前面元素出现0次或1次
|: 选择
( ):群组
"a.[0-9]":表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;
"^.{3}$":表示有任意三个字符的字符串(长度为3个字符);
方括号表示某些字符允许在一个字符串中的某一特定位置出现:
"[ab]":表示一个字符串有一个"a"或"b"(相当于"a¦b");
"[a-d]":表示一个字符串包含小写的'a'到'd'中的一个(相当于"a¦b¦c¦d"或者"[abcd]");
"^[a-zA-Z]":表示一个以字母开头的字符串;
"[0-9]%":表示一个百分号前有一位的数字;
",[a-zA-Z0-9]$":表示一个字符串以一个逗号后面跟着一个字母或数字结束。
常用正则表达式:
匹配中文字符的正则表达式: [一-龥]
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配IP地址的正则表达式:/(d+).(d+).(d+).(d+)/g //
"^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$" //email地址
"^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$" //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:https://blog.csdn.net/lml_little/article/details/?%&=]*)?
1、非负整数:^d+$
2、正整数:^[0-9]*[1-9][0-9]*$
3、非正整数:^((-d+)|(0+))$
4、负整数:^-[0-9]*[1-9][0-9]*$
5、整数:^-?d+$
6、非负浮点数:^d+(.d+)?$
7、正浮点数:^((0-9)+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$
8、非正浮点数:^((-d+.d+)?)|(0+(.0+)?))$
9、负浮点数:^(-((正浮点数正则式)))$
10、英文字符串:^[A-Za-z]+$
11、英文大写串:^[A-Z]+$
12、英文小写串:^[a-z]+$
13、英文字符数字串:^[A-Za-z0-9]+$
14、英数字加下划线串:^w+$
15、E-mail:^([a-zA-Z0-9_.-]+)@([da-zA-Z.-]+).([a-zA-Z.]{2,6})$
16、URL:^[a-zA-Z]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$
或:^~`@[]':+!]*([^<>""])*$
17、邮政编码:^[1-9]d{5}$
18、中文:^[Α-¥]+$
19、电话号码:^(((d{2,3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}(-d{1,4})?$
20、手机号码:^(((d{2,3}))|(d{3}-))?13d{9}$或
^(0|86|17951)?(13[0-9]|15[012356789]|17[0-9]|18[0-9]|14[0-9])[0-9]{8}$
21、双字节字符(包括汉字在内):^x00-xff
22、匹配首尾空格:(^s*)|(s*$)(像vbscript那样的trim函数)
23、匹配HTML标记:<(.*)>.*1>
|<(.*) />
24、匹配空行:
[s| ]*
25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(w|\|/|.)+('|"| *|>)?
26、提取信息中的邮件地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(w|\|/|.)+('|"| *|>)?
28、提取信息中的IP地址:(d+).(d+).(d+).(d+)
29、提取信息中的中国手机号码:(86)*0*13d{9}
30、提取信息中的中国固定电话号码:((d{3,4})|d{3,4}-|s)?d{8}
31、提取信息中的中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14}
32、提取信息中的中国邮政编码:[1-9]{1}(d+){5}
33、提取信息中的浮点数(即小数):(-?d*).?d+
34、提取信息中的任何数字 :(-?d*)(.d+)?
35、IP:(d+).(d+).(d+).(d+)
36、电话区号:/^0d{2,3}$/
37、腾讯QQ号:^[1-9]*[1-9][0-9]*$
38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
39、中文、英文、数字及下划线:^[一-龥_a-zA-Z0-9]+$
40.用户名3-15位中英文字母数字:^[0-9a-zA-Z一-龥]{3,15}$
输入框常用正则表达式限制:
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))" //复制粘贴前执行