正则表达式(一)20种经典数据验证:电话号码+邮箱地址+身份证+银行卡+邮编+URL+IPv4/IPv6地址+MAC地址+时间日期+密码强度+车牌号+增值税发票+护照+港澳通行证
·
正则表达式语法介绍与查询表格
正则表达式基础语法
元字符
.- 匹配除换行符外的任意字符^- 匹配字符串开始位置$- 匹配字符串结束位置\d- 匹配数字,等价于[0-9]\w- 匹配字母、数字、下划线,等价于[A-Za-z0-9_]\s- 匹配空白字符
量词
*- 匹配前一个元素0次或多次+- 匹配前一个元素1次或多次?- 匹配前一个元素0次或1次{n}- 匹配前一个元素恰好n次{n,}- 匹配前一个元素至少n次{n,m}- 匹配前一个元素n到m次
字符类
[abc]- 匹配a、b或c中的任意一个字符[a-z]- 匹配a到z范围内的任意字符[^abc]- 匹配除a、b、c外的任意字符
分组与捕获
(abc)- 匹配并捕获分组(?:abc)- 匹配但不捕获分组(?=abc)- 正向先行断言(?!abc)- 负向先行断言
数据验证类正则表达式查询表格
| ID | 类别 | 标题 | 正则表达式 | 描述 | 示例 |
|---|---|---|---|---|---|
| 1 | 数据验证类 | 验证中国大陆11位手机号 | ^1[3-9]\d{9}$ | 校验文本是否为中国大陆11位有效手机号,以1开头,第二位为3-9,后9位为数字 | 13800138000(有效)、12800138000(无效)、1380013800(无效) |
| 2 | 数据验证类 | 验证固定电话 | ^0\d{2,3}-\d{7,8}$ | 校验固定电话号码格式,支持3-4位区号(以0开头)+分隔符-+7-8位号码 | 010-12345678(有效)、021-87654321(有效)、123-12345678(无效) |
| 3 | 数据验证类 | 验证标准邮箱地址 | ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ | 校验符合RFC规范的邮箱地址,支持用户名含点、下划线、百分号、加号、减号,域名含多级后缀 | user.name+tag@domain.com(有效)、user@domain(无效)、user@.com(无效) |
| 4 | 数据验证类 | 验证18位身份证号 | ^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ | 校验18位身份证号码格式,包含地址码、出生日期码、顺序码、校验码(支持X/x) | 11010119900307789X(有效)、11010119900307789(无效)、110101199003077899(格式有效) |
| 5 | 数据验证类 | 验证银行卡号 | ^\d{4}(-\d{4}){3}$|^\d{16,19}$ | 校验银行卡号格式,支持纯数字16-19位,或4位一组用-分隔的格式 | 6222020000000000(有效)、6222-0200-0000-0000(有效)、622202000000000(无效) |
| 6 | 数据验证类 | 验证中国大陆6位邮政编码 | ^[1-9]\d{5}$ | 校验中国大陆6位邮政编码,第一位不为0,后5位为数字 | 100080(有效)、000080(无效)、10008(无效) |
| 7 | 数据验证类 | 验证URL | ^(http|https|ftp):\/\/([a-zA-Z0-9.-]+)(:\d+)?(\/[^\s]*)?$ | 校验URL格式,支持http/https/ftp协议,包含域名、可选端口、路径和参数 | https://www.example.com/path?key=val(有效)、www.example.com(无效)、http://(无效) |
| 8 | 数据验证类 | 验证IPv4地址 | ^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$ | 校验合法IPv4地址,每个段0-255,排除全0/全255等特殊值(格式层面) | 192.168.1.1(有效)、256.168.1.1(无效)、0.0.0.0(格式有效) |
| 9 | 数据验证类 | 验证IPv6地址 | ^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$ | 校验标准8段IPv6地址,每段1-4位十六进制字符(大小写均可) | 2001:0db8:85a3:0000:0000:8a2e:0370:7334(有效)、2001:0db8:85a3::8a2e:0370:7334(简化格式,此正则不匹配) |
| 10 | 数据验证类 | 验证MAC地址 | ^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$ | 校验MAC地址格式,支持6组2位十六进制字符,分隔符为:或- | 00:1A:2B:3C:4D:5E(有效)、00-1A-2B-3C-4D-5E(有效)、001A2B3C4D5E(纯字符格式,此正则不匹配) |
| 11 | 数据验证类 | 验证日期格式 | ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ | 校验YYYY-MM-DD格式的日期,月份1-12,日期1-31(仅格式校验,不校验月份天数) | 2025-11-22(有效)、2025-13-22(无效)、2025-11-32(无效) |
| 12 | 数据验证类 | 验证24小时制时间 | ^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$ | 校验24小时制时间格式,小时00-23,分钟00-59,秒00-59 | 18:30:45(有效)、25:30:45(无效)、18:60:45(无效) |
| 13 | 数据验证类 | 验证日期时间 | ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])\s([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$ | 校验YYYY-MM-DD HH:MM:SS格式的日期时间,结合日期和时间的格式校验 | 2025-11-22 18:30:45(有效)、2025-13-22 18:30:45(无效)、2025-11-22 25:30:45(无效) |
| 14 | 数据验证类 | 验证密码强度 | ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]).{8,}$ | 校验密码强度,至少8位,必须包含小写字母、大写字母、数字、特殊字符 | Pass123!(有效)、pass123!(无效,无大写)、Pass123(无效,无特殊字符) |
| 15 | 数据验证类 | 验证用户名 | ^[a-zA-Z]\w{5,17}$ | 校验用户名格式,以字母开头,包含字母、数字、下划线,长度6-18位 | user_123(有效)、1user_123(无效,数字开头)、user(无效,长度不足) |
| 16 | 数据验证类 | 验证中国大陆车牌号 | ^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]{1}[A-Z]{1}[A-Z0-9]{4,5}[A-Z0-9挂学警港澳]{1}$ | 校验中国大陆车牌号,包含省份简称、字母、数字/字母,可选挂/学/警/港澳后缀 | 京A12345(有效)、沪B88888挂(有效)、京123456(无效) |
| 17 | 数据验证类 | 验证统一社会信用代码 | ^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$ | 校验18位统一社会信用代码,包含特定字母和数字组合 | 91110108MA00000000(有效)、91110108MA0000000(无效,长度不足) |
| 18 | 数据验证类 | 验证增值税发票号码 | ^\d{10}$ | 校验增值税发票号码,固定10位数字 | 1234567890(有效)、123456789(无效)、123456789a(无效) |
| 19 | 数据验证类 | 验证中国大陆护照号码 | ^[EeGgSsDd]\d{8}$ | 校验中国大陆护照号码,以E/G/S/D开头(大小写均可),后8位数字 | E12345678(有效)、e12345678(有效)、123456789(无效) |
| 20 | 数据验证类 | 验证港澳通行证号码 | ^[HMhm]\d{10}$ | 校验港澳通行证号码,以H/M开头(大小写均可),后10位数字 | H1234567801(有效)、m8765432102(有效)、H123456780(无效) |
我用代码做了一个正则表达式查询库,可以查询100种典型应用,也可以验证和测试你的代码,可以点击直接下载:
正则表达式查询库 覆盖数据验证、文本提取/清洗、开发调试、日志分析、网络安全等数十个领域的100种正则表达式应用场景



正则表达式查询库 覆盖数据验证、文本提取/清洗、开发调试、日志分析、网络安全等数十个领域的100种正则表达式应用场景
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)