资讯专栏INFORMATION COLUMN

常用正则表达式整理(大全)

kamushin233 / 2663人阅读

摘要:验证是否含有等字符验证汉字验证地址验证验证电话号码正确格式为,,,,,。验证身份证号位或位数字验证一年的个月正确格式为和验证一个月的天正确格式为和。

http://blog.csdn.net/hebbely/...;
http://www.cnblogs.com/hustsk...

验证数字:^[0-9]*$

验证n位的数字:^d{n}$

验证至少n位数字:^d{n,}$

验证m-n位的数字:^d{m,n}$

验证零和非零开头的数字:^(0|1-9*)$

验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

验证非零的正整数:^+?1-9*$

验证非零的负整数:^-1-9*$

验证非负整数(正整数 + 0) ^d+$

验证非正整数(负整数 + 0) ^((-d+)|(0+))$

验证长度为3的字符:^.{3}$

验证由26个英文字母组成的字符串:^[A-Za-z]+$

验证由26个大写英文字母组成的字符串:^[A-Z]+$

验证由26个小写英文字母组成的字符串:^[a-z]+$

验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

验证由数字、26个英文字母或者下划线组成的字符串:^w+$

验证用户密码:^[a-zA-Z]w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证是否含有 ^%&",;=?$" 等字符:[^%&",;=?$x22]+

验证汉字:^[u4e00-u9fa5],{0,}$

验证Email地址:/^([a-zA-Z0-9]+[_|_|.]?)[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/

验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。

验证身份证号(15位或18位数字):^d{15}|d{}18$

验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”

验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。

整数:^-?d+$

非负浮点数(正浮点数 + 0):^d+(.d+)?$

正浮点数 ^(([0-9]+.[0-9]1-9)|([0-9]1-9.[0-9]+)|([0-9]1-9))$

非正浮点数(负浮点数 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$

负浮点数 ^(-(([0-9]+.[0-9]1-9)|([0-9]1-9.[0-9]+)|([0-9]1-9)))$

浮点数 ^(-?d+)(.d+)?$

0-10 的整数或包含一位小数的正则表达式 ^(d|10)(.d)?$

汉字:^[u4e00-u9fa5]{0,}$

英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

长度为3-20的所有字符:^.{3,20}$

由26个英文字母组成的字符串:^[A-Za-z]+$

由26个大写英文字母组成的字符串:^[A-Z]+$

由26个小写英文字母组成的字符串:^[a-z]+$

由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

由数字、26个英文字母或者下划线组成的字符串:^w+$ 或 ^w{3,20}$

中文、英文、数字包括下划线:^[u4E00-u9FA5A-Za-z0-9_]+$

中文、英文、数字但不包括下划线等符号:^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[u4E00-u9FA5A-Za-z0-9]{2,20}$

可以输入含有^%&",;=?$"等字符:[^%&",;=?$x22]+

Email地址:^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*$

域名:a-zA-Z0-9{0,62}(/.a-zA-Z0-9{0,62})+/.?

InternetURL:[a-zA-z]+://1 或 ^http://([w-]+.)+[w-]+(/[w-./?%&=])?$

手机号码:^(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}$

电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^((d{3,4}-)|d{3.4}-)?d{7,8}$

国内电话号码(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}

身份证号(15位、18位数字):^d{15}|d{18}$

短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^a-zA-Z{4,15}$

密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]w{5,17}$

强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.d)(?=.[a-z])(?=.*[A-Z]).{8,10}$

日期格式:^d{4}-d{1,2}-d{1,2}

一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$

一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

钱的输入格式:

1.有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^1-9*$

2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|1-9*)$

3.一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?1-9*)$

4.这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$

5.必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$

6.这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$

7.这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

8.1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里

xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+.x|X[l|L]$

中文字符的正则表达式:[u4e00-u9fa5]

双字节字符:2 (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))

空白行的正则表达式:ns*r (可以用来删除空白行)

HTML标记的正则表达式:<(S?)3>.?|<.? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)

首尾空白字符的正则表达式:^s|s$或(^s*)|(s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)

腾讯QQ号:1-9{4,} (腾讯QQ号从10000开始)

中国邮政编码:[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))


  • s ↩

  • x00-xff ↩

  • > ↩

  • 文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

    转载请注明本文地址:https://www.ucloud.cn/yun/60418.html

    相关文章

    • 常用正则达式整理大全

      摘要:验证是否含有等字符验证汉字验证地址验证验证电话号码正确格式为,,,,,。验证身份证号位或位数字验证一年的个月正确格式为和验证一个月的天正确格式为和。 http://blog.csdn.net/hebbely/...;http://www.cnblogs.com/hustsk... 验证数字:^[0-9]*$ 验证n位的数字:^d{n}$ 验证至少n位数字:^d{n,}$ 验证m-...

      Allen 评论0 收藏0
    • 前端资源系列(4)-前端学习资源分享&前端面试资源汇总

      摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...

      princekin 评论0 收藏0
    • 平时积累的前端资源,持续更新中。。。

      本文收集学习过程中使用到的资源。 持续更新中…… 项目地址 https://github.com/abc-club/f... 目录 vue react react-native Weex typescript Taro nodejs 常用库 css js es6 移动端 微信公众号 小程序 webpack GraphQL 性能与监控 高质文章 趋势 动效 数据结构与算法 js core 代码规范...

      acrazing 评论0 收藏0
    • android新技术

      摘要:酷炫即时通讯和开源项目汇总这是一个整理即时通讯和社交系统优秀开源项目的文档,项目上传欢迎提交更新。 UI之可折叠的TextView 先上效果 一、思路 1. 计算text的行数 实现可折叠的TextView最重要的一点是在setText()前计算出text所需的行数计算行数需要分为两种情况 1.1 没有换行符的text 行数等于text的宽度除于TextView的宽度 再判断text的...

      chanthuang 评论0 收藏0
    • Python各热门方向常用学习、工作网址大全【7000字大总结】

      摘要:做这一领域的工作,有很多网站能够起到辅助性的作用。再加上爬虫相对于其他热门方向来说,更容易学。也促使更多人会优先选择学习爬虫。能够代替手工完成手工无法完成的测试任务,并且可以记录相关数据及报告。 ...

      linkFly 评论0 收藏0

    发表评论

    0条评论

    kamushin233

    |高级讲师

    TA的文章

    阅读更多
    最新活动
    阅读需要支付1元查看
    <