分享 70 个你可能会用到的正则表达式
很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。
所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。
01、手机机身码(IMEI)
/^d{15,17}$/
02、必须带端口号的网址(或ip)
/^((ht|f)tps?://)?[w-]+(.[w-]+)+:d{1,5}/?$/
03、网址(url,支持端口和"?+参数"和"#+参数)
/^(((ht|f)tps?)://)?[w-]+(.[w-]+)+([w.,@?^=%&:/~+#-]*[w@?^=%&/~+#-])?$/
04、统一社会信用代码(宽松匹配)(15位/18位/20位数字/字母)
/^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/
05、统一社会信用代码(宽松匹配)(15位/18位/20位数字/字母)
/^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/
06、统一社会信用代码
/^[0-9A-HJ-NPQRTUWXY]{2}d{6}[0-9A-HJ-NPQRTUWXY]{10}$/
07、火车车次
/^[GCDZTSPKXLY1-9]d{1,4}$/
08、迅雷链接
/^thunder://[a-zA-Z0-9]+=$/
09、ed2k链接(宽松匹配)
/^ed2k://|file|.+|/$/
10、磁力链接(宽松匹配)
/^magnet:?xt=urn:btih:[0-9a-fA-F]{40,}.*$/
11、子网掩码
/^(?:d{1,2}|1dd|2[0-4]d|25[0-5])(?:.(?:d{1,2}|1dd|2[0-4]d|25[0-5])){3}$/
12、linux"文件夹"路径
/^/(w+/?)+$/
13、linux"文件"路径
/^/(w+/)+w+.w+$/
14、window下"文件夹"路径
/^[a-zA-Z]:\(?:w+\?)*$/
15、window下"文件"路径
/^[a-zA-Z]:\(?:w+\)*w+.w+$/
16、A股代码
/^(s[hz]|S[HZ])(000[d]{3}|002[d]{3}|300[d]{3}|600[d]{3}|60[d]{4})$/
17、大于等于0, 小于等于150, 支持小数位出现5, 如145.5, 用于判断考卷分数
/^150$|^(?:d|[1-9]d|1[0-4]d)(?:.5)?$/
18、html注释
/^<!--[sS]*?-->$/
19、md5格式(32位)
/^[a-f0-9]{32}$/
20、版本号格式必须为X.Y.Z
/^d+(?:.d+){2}$/
21、视频链接地址(视频格式可按需增删)
/^https?://.*?(?:swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)$/i
22、图片链接地址(图片格式可按需增删)
/^https?://.*?(?:gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)$/i
23、24小时制时间(HH:mm:ss)
/^(?:[01]d|2[0-3]):[0-5]d:[0-5]d$/
24、12小时制时间(hh:mm:ss)
/^(?:1[0-2]|0?[1-9]):[0-5]d:[0-5]d$/
25、base64格式
/^s*data:(?:[a-z]+/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=-._~:@/?%s]*?)s*$/i
26、数字/货币金额(支持负数、千分位分隔符)
/(?:^[-]?[1-9]d{0,2}(?:$|(?:,d{3})*(?:$|(.d{1,2}$))))|(?:(?:^[0](.d{1,2})?)|(?:^[-][0].d{1,2}))$/
27、数字/货币金额 (只支持正数、不支持校验千分位分隔符)
/(?:^[1-9]([0-9]+)?(?:.[0-9]{1,2})?$)|(?:^(?:0){1}$)|(?:^[0-9].[0-9](?:[0-9])?$)/
28、银行卡号(16或19位)
/^(?:[1-9]{1})(?:d{15}|d{18})$/
29、中文姓名
/^(?:[u4e00-u9fa5·]{2,16})$/
30、英文姓名
/(^[a-zA-Z]{1}[a-zA-Zs]{0,20}[a-zA-Z]{1}$)/
31、新能源车牌号
/[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$/
32、非新能源车牌号
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/
33、车牌号(新能源+非新能源)
/^(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}(?:(?:[0-9]{5}[DF])|(?:[DF](?:[A-HJ-NP-Z0-9])[0-9]{4})))|(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9 挂学警港澳]{1})$/
34、网址
/^(?:(?:https?|ftp)://)?(?:[da-z.-]+).(?:[a-z.]{2,6})(?:/w.-]*)*/?/
35、中国手机号(严谨), 根据工信部2019年最新公布的手机号段 。
/^(?:(?:+|00)86)?1(?:(?:3[d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[d])|(?:9[1|8|9]))d{8}$/
36、中国手机号(宽松), 只要是13,14,15,16,17,18,19开头即可 。
/^(?:(?:+|00)86)?1[3-9]d{9}$/
37、中国手机号(最宽松), 只要是1开头即可, 如果你的手机号是用来接收短信, 优先建议选择这一条 。
/^(?:(?:+|00)86)?1d{10}$/
38、日期
/^d{4}(-)(1[0-2]|0?d)1([0-2]d|d|30|31)$/
39、邮箱地址(email)
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
40、国内座机电话,如: 0341-86091234
/d{3}-d{8}|d{4}-d{7}/
41、一代身份证号(15位数字)
/^d{8}(0d|10|11|12)([0-2]d|30|31)d{3}$/
42、二代身份证号(18位数字),最后一位是校验位,可能为数字或字符X
/^d{6}(18|19|20)d{2}(0d|10|11|12)([0-2]d|30|31)d{3}(d|X|x)$/
43、身份证号, 支持1/2代(15位/18位数字)
/(^d{8}(0d|10|11|12)([0-2]d|30|31)d{3}$)|(^d{6}(18|19|20)d{2}(0d|10|11|12)([0-2]d|30|31)d{3}(d|X|x)$)/
44、护照(包含香港、澳门)
/(^[EeKkGgDdSsPpHh]d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))d{7}$)/
45、帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线组合
/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
46、纯中文/汉字
/^(?:[u3400-u4DB5u4E00-u9FEAuFA0EuFA0FuFA11uFA13uFA14uFA1FuFA21uFA23uFA24uFA27-uFA29]|[uD840-uD868uD86A-uD86CuD86F-uD872uD874-uD879][uDC00-uDFFF]|uD869[uDC00-uDED6uDF00-uDFFF]|uD86D[uDC00-uDF34uDF40-uDFFF]|uD86E[uDC00-uDC1DuDC20-uDFFF]|uD873[uDC00-uDEA1uDEB0-uDFFF]|uD87A[uDC00-uDFE0])+$/
47、是否小数
/^d+.d+$/
48、电话(座机)
/^0d{2,3}-d{7,8}$/
49、纯数字
/^d{1,}$/
50、是否html标签(宽松匹配)
/<(.*)>.*</1>|<(.*) />/
51、是否qq号格式正确
/^[1-9][0-9]{4,10}$/
52、是否由数字和字母组成
/^[A-Za-z0-9]+$/
53、纯英文字母
/^[a-zA-Z]+$/
54、纯小写英文字母组成
/^[a-z]+$/
55、纯大写英文字母
/^[A-Z]+$/
56、密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 。
/^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/
57、用户名正则,4到16位(字母,数字,下划线,减号)
/^[a-zA-Z0-9_-]{4,16}$/
58、ip-v4
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
59、ip-v6
/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))).){3}(((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))))|(([0-9A-Fa-f]{1,4}:){0,5}:((((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))).){3}(((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))))|(::([0-9A-Fa-f]{1,4}:){0,5}((((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))).){3}(((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i
60、16进制颜色
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
61、微信号,6至20位,以字母开头,字母,数字,减号,下划线
/^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/
62、中国邮政编码
/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])d{4}$/
63、只包含中文和数字
/^((?:[u3400-u4DB5u4E00-u9FEAuFA0EuFA0FuFA11uFA13uFA14uFA1FuFA21uFA23uFA24uFA27-uFA29]|[uD840-uD868uD86A-uD86CuD86F-uD872uD874-uD879][uDC00-uDFFF]|uD869[uDC00-uDED6uDF00-uDFFF]|uD86D[uDC00-uDF34uDF40-uDFFF]|uD86E[uDC00-uDC1DuDC20-uDFFF]|uD873[uDC00-uDEA1uDEB0-uDFFF]|uD87A[uDC00-uDFE0])|(d))+$/
64、不能包含字母
/^[^A-Za-z]*$/
65、mac地址
/^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i
66、匹配连续重复的字符
/(.)1+/
67、数字和英文字母组成,并且同时含有数字和英文字母
/^(?=.*[a-zA-Z])(?=.*d).+$/
68、香港身份证
/^[a-zA-Z]d{6}([dA])$/
69、澳门身份证
/^[1|5|7]d{6}[(d)]{3}$/
70、台湾身份证
/^[a-zA-Z][0-9]{9}$/
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十