当前位置:网站首页 > 软件教程 > 正文

常用正则表达式大全2016最新版

作者:admin发布时间:2021-11-03分类:软件教程浏览:评论:0


导读:对正则不太熟悉的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。下面小编带来开发中最常用的一些正则表达式大全,包括校验数字、字符、一些特殊的需求等等。需要的可以收藏。一、校验数字的表达式1数字:^[0-9]*$2n位的数字:^

对正则表达式不太熟的好朋友,在碰到必须用正则校验数据信息时,通常是在网络上去找好长时间,結果叫来的或是不很符合规定。下边笔者产生开发设计中最常见的一些正则表达式全集,包含校检数据.标识符.一些特别的要求这些。必须的能够个人收藏。

一.校检数据的关系式


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 有两位小数的正实数:^[0-9] (.[0-9]{2})?$
10 有1~3位小数的正实数:^[0-9] (.[0-9]{1,3})?$
11 非零的整数:^[1-9]d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^ ?[1-9][0-9]*$
12 非零的负整数:^-[1-9][]0-9"*$ 或 ^-[1-9]d*$
13 非负整数:^d $ 或 ^[1-9]d*|0$
14 非正整数:^-[1-9]d*|0$ 或 ^((-d )|(0 ))$
15 非负浮点型:^d (.d )?$ 或 ^[1-9]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 正浮点型:^[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]*))$
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)$


二.校检标识符的关系式


1 中国汉字:^[u4e00-u9fa5]{0,}$
2 英语和数据:^[A-Za-z0-9] $ 或 ^[A-Za-z0-9]{4,40}$
3 长短为3-20的全部标识符:^.{3,20}$
4 由26个英文英文字母构成的字符串数组:^[A-Za-z] $
5 由二十六个大写英文英文字母构成的字符串数组:^[A-Z] $
6 由二十六个小写字母英语字母构成的字符串数组:^[a-z] $
7 由数据和26个英文英文字母构成的字符串数组:^[A-Za-z0-9] $
8 由数据.26个英文英文字母或是下横线构成的字符串数组:^w $ 或 ^w{3,20}$
9 汉语.英语.数据包含下横线:^[u4E00-u9FA5A-Za-z0-9_] $
10 汉语.英语.数据但不包括下横线等标记:^[u4E00-u9FA5A-Za-z0-9] $ 或 ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
11 能够键入带有^%&’,;=?$"等标识符:[^%&’,;=?$x22]
12 严禁键入带有~的标识符:[^~x22]


三.独特要求关系式


1 Email详细地址:^w ([- .]w )*@w ([-.]w )*.w ([-.]w )*$
2 网站域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62}) /.?
3 InternetURL:[a-zA-z] ://[^s]* 或 ^http://([w-] .) [w-] (/[w-./?%&=]*)?$
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}$
5 联系电话("XXX-XXXXXXX"."XXXX-XXXXXXXX"."XXX-XXXXXXX"."XXX-XXXXXXXX"."XXXXXXX"和"XXXXXXXX):^((d{3,4}-)|d{3.4}-)?d{7,8}$
6 中国联系电话(0511-4405222.021-87888822):d{3}-d{8}|d{4}-d{7}
7 身份证号码(15位.18位数据):^d{15}|d{18}$
8 短身份证号(数据.英文字母x末尾):^([0-9]){7,18}(x|X)?$ 或 ^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
9 账号是不是合理合法(英文字母开始,容许5-16字节,容许英文字母数据下横线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10 登陆密码(以英文字母开始,长短在6~18中间,只有包括英文字母.数据和下横线):^[a-zA-Z]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)$
15 钱的键入文件格式:
16 1.有四种钱的表明方式我们可以接纳:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$
17 2.这表明随意一个不因0开始的数据,可是,这也代表着一个字符"0"不通过,因此大家选用下边的结构:^(0|[1-9][0-9]*)$
18 3.一个0或是一个不因0开始的数据.大家还能够容许开始有一个减号:^(0|-?[1-9][0-9]*)$
19 4.这说明一个0或是一个很有可能为负的开始不以0的数据.让客户以0开始好啦.把减号的也除掉,由于钱总不可以是负的吧.下边我们要加的是表明很有可能的小数部分:^[0-9] (.[0-9] )?$
20 5.务必表明的是,小数位后边最少应当有1十位数,因此"10."不是根据的,可是 "10" 和 "10.2" 是根据的:^[0-9] (.[0-9]{2})?$
21 6.那样大家要求小数位后边务必有俩位,假如你觉得太严苛了,能够如此:^[0-9] (.[0-9]{1,2})?$
22 7.那样就容许客户只写一位小数.下边大家该考虑到数据中的分号了,我们可以那样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
23 8.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 空白行的正则表达式: s* (能够用于删除空白行)
29 HTML标签的正则表达式:<(S*?)[^>]*>.*?</1>|<.*? /> (在网上广为流传的版本号太槽糕,上边这一也只是能一部分,针对繁杂的嵌入标识依然束手无策)
30 头尾空白字符的正则表达式:^s*|s*$或(^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 IP地址:((?:(?:25[0-5]|2[0-4]d|[01]?d?d).){3}(?:25[0-5]|2[0-4]d|[01]?d?d))

标签:正则表达式


欢迎 发表评论: