一、数字校验类
表达式 |
说明 |
示例 |
^[0-9]*$ |
纯数字(可为空) |
123 |
^\d{n}$ |
固定n位数字 |
1234 (n=4) |
^\d{m,n}$ |
m~n位数字 |
123 (m=3,n=5) |
^(0|[1-9][0-9]*)$ |
非负整数(0或正整数) |
0, 123 |
^[1-9][0-9]*$ |
正整数(不含0) |
1, 456 |
^-[1-9]\d*$ |
负整数(不含0) |
-789 |
^(\-|\+)?\d+(\.\d+)?$ |
正/负数及小数(支持±号) |
+3.14, -0.5 |
^[0-9]+(\.[0-9]{1,2})?$ |
最多两位小数的正数 |
10.99 |
^\d+(\.\d+)?$ |
非负浮点数 |
3.14, 100 |
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ |
负浮点数 |
-0.25 |
二、字符校验类
表达式 |
说明 |
示例 |
^[\u4e00-\u9fa5]{0,}$ |
中文字符(含空字符串) |
正则表达式 |
^[A-Za-z0-9]+$ |
英文/数字组合(不含符号) |
Hello123 |
^.{3,20}$ |
长度3~20的任意字符 |
abc_@1 |
^[A-Za-z]+$ |
纯英文字母(不区分大小写) |
RegEx |
^\w+$ |
字母/数字/下划线 |
user_name123 |
^[\u4E00-\u9FA5A-Za-z0-9]+$ |
中文/英文/数字(不含下划线) |
用户123 |
[^%&',;=?$\x22]+ |
禁止输入 %&',;?$" 等敏感字符 |
Safe#Input |
[\u4E00-\u9FA5] |
匹配单个汉字(用于文本提取) |
中 |
[\uFF00-\uFFFF] |
匹配全角符号 |
@,. |
三、特殊格式校验
1. 通讯与身份
表达式 |
说明 |
示例 |
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ |
标准邮箱格式 |
user@example.com |
^(13[0-9]|14[5|7]|15[0-3,5-9]|18[0-9]|17[0-8])\d{8}$ |
中国大陆手机号 |
13800138000 |
^(\d{3,4}-)?\d{7,8}$ |
固定电话号码(带区号) |
021-87654321 |
^\d{15}|\d{18}$ |
15位/18位身份证号 |
110105199901011234 |
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ |
账号(字母开头,5-16位) |
user_123 |
2. 网络与地址
表达式 |
说明 |
示例 |
^(https?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?$ |
URL链接 |
https://www.example.com |
((25[0-5]|2[0-4]\d|?\d?\d)\.){3}(25[0-5]|2[0-4]\d|?\d?\d) |
IPv4地址 |
192.168.1.1 |
[1-9]\d{5}(?!\d) |
中国邮政编码 |
100000 |
3. 日期与时间
表达式 |
说明 |
示例 |
^\d{4}-\d{1,2}-\d{1,2}$ |
年-月-日格式 |
2023-08-01 |
^(0?[1-9]|1[0-2])$ |
月份(0112或112) |
7, 12 |
^((0?[1-9])|((1|2)[0-9])|30|31)$ |
日期(1~31) |
25, 31 |
4. 安全校验
表达式 |
说明 |
示例 |
^[a-zA-Z]\w{5,17}$ |
密码(字母开头,6~18位) |
Pass_123 |
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ |
强密码(大小写+数字,8~10位) |
Secure1 |
四、文本处理类
表达式 |
说明 |
用途 |
\n\s*\r |
空白行(含换行符和空格) |
删除空白行 |
^\s*|\s*$ |
行首/行尾空白字符(空格/tab) |
去除首尾空格 |
<!--(.*?)--> |
HTML注释内容 |
提取或删除注释 |
[\u0000-\u00FF] |
半角字符(ASCII范围) |
字符集识别 |
[^\x00-\xff] |
双字节字符(含汉字) |
计算文本长度(汉字计2) |
五、其他实用表达式
表达式 |
说明 |
示例 |
^[1-9][0-9]{4,}$ |
腾讯QQ号(5位以上) |
10000 |
^([a-zA-Z]:\\)?([^\\:\*\?"<>|]+\\)*[^\\:\*\?"<>|]+\.txt$ |
Windows文本文件路径 |
C:\docs\file.txt |
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ |
HEX颜色代码 |
#FF00FF |
使用说明
- 语言兼容性:以上表达式在主流编程语言中通用(如Python/Java/JavaScript),部分需转义(如Java需双反斜杠
\\d
)。
- 调试建议:复杂表达式建议使用在线工具测试(如 regex101.com)。
- 特殊场景:
- 手机号/身份证号需根据政策更新调整规则。
- 强密码规则可通过增减
(?=.*[特殊符号])
扩展复杂度。
整理依据常见业务需求优化,保留了原分类逻辑并修正了部分错误表达式(如金钱格式校验)。