⚡
正则表达式生成器
选择或描述常见校验场景,生成邮箱、URL、IP、日期、密码等正则表达式,并查看说明和示例。生成结果适合作为起点,使用前应结合真实样本测试。
邮箱地址
邮箱匹配标准邮箱格式
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$标志: i示例: user@example.com
国内邮箱
邮箱匹配常见国内邮箱服务商
^[a-zA-Z0-9_-]+@(qq|163|126|gmail|hotmail|yahoo|sina|sohu)\.(com|cn|net)$标志: i示例: user@qq.com
中国大陆手机号
手机匹配11位中国大陆手机号码
^1[3-9]\d{9}$标志: 无示例: 13812345678
国际手机号
手机匹配带国家码的国际手机号
^\+?[1-9]\d{1,14}$标志: 无示例: +8613812345678
中国身份证号(18位)
身份证匹配18位中国居民身份证号
^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$标志: 无示例: 110101199001011234
中国身份证号(15位)
身份证匹配15位中国居民身份证号
^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$标志: 无示例: 110101900101123
URL地址
URL匹配HTTP/HTTPS网址
^https?://[^\s/$.?#].[^\s]*$标志: i示例: https://www.example.com
域名
URL匹配域名格式
^[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])?)*\.[a-zA-Z]{2,}$标志: i示例: www.example.com
IP地址(IPv4)
URL匹配IPv4地址格式
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$标志: 无示例: 192.168.1.1
日期(YYYY-MM-DD)
日期匹配标准日期格式
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$标志: 无示例: 2024-01-15
时间(HH:MM:SS)
日期匹配24小时制时间格式
^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$标志: 无示例: 14:30:00
日期时间(YYYY-MM-DD HH:MM:SS)
日期匹配标准日期时间格式
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]) ([01]\d|2[0-3]):[0-5]\d:[0-5]\d$标志: 无示例: 2024-01-15 14:30:00
正整数
数字匹配正整数
^[1-9]\d*$标志: 无示例: 12345
负整数
数字匹配负整数
^-[1-9]\d*$标志: 无示例: -12345
整数(正负)
数字匹配正负整数
^-?[1-9]\d*$标志: 无示例: -12345
小数
数字匹配小数(正负)
^-?\d+(\.\d+)?$标志: 无示例: -123.456
密码强度(8位以上)
密码至少8位,包含字母和数字
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$标志: 无示例: Password123
密码强度(强)
密码至少8位,包含大小写字母、数字和特殊字符
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$标志: 无示例: Pass@1234
中文字符
中文匹配中文字符
^[\u4e00-\u9fa5]+$标志: 无示例: 你好世界
中文姓名
中文匹配2-4位中文姓名
^[\u4e00-\u9fa5]{2,4}$标志: 无示例: 张三
图片文件
文件匹配常见图片文件扩展名
.*\.(jpg|jpeg|png|gif|bmp|webp|svg)$标志: i示例: photo.jpg
视频文件
文件匹配常见视频文件扩展名
.*\.(mp4|avi|mkv|mov|wmv|flv)$标志: i示例: video.mp4
文档文件
文件匹配常见文档文件扩展名
.*\.(pdf|doc|docx|xls|xlsx|ppt|pptx|txt)$标志: i示例: document.pdf
HTML标签
HTML匹配HTML标签
<[^>]+>标志: g示例: <div class="test">
HTML属性
HTML匹配HTML属性名=属性值
\w+="[^"]*"标志: g示例: class="container"
邮政编码(中国)
其他匹配6位中国邮政编码
^[1-9]\d{5}$标志: 无示例: 100000
车牌号(中国)
其他匹配中国车牌号格式
^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$标志: 无示例: 京A12345
微信号
其他匹配微信号格式
^[a-zA-Z][-a-zA-Z0-9_]{5,19}$标志: 无示例: wx_user123
空白字符
其他匹配空白字符(空格、制表符、换行)
\s+标志: g示例:
非空白字符
其他匹配非空白字符
\S+标志: g示例: HelloWorld
正则表达式模式概念与边界
快速入门指南
1
根据需要验证或提取的输入格式选择正则分类
2
查看该模式匹配什么、使用哪些标志,以及哪些示例输入会通过
3
在用于代码前,对比无效样本和边界样本,确认模式不会误判
4
当生产输入规则不同,先在正则测试工具中调试并调整表达式
💡实用技巧
✓正则更适合做格式检查和文本提取,不能证明邮箱、URL 或账号真实存在
✓邮箱和密码正则本质上是策略选择:先定义允许字符、长度和边界情况,再选择表达式
✓生成的模式使用常见语法,但 JavaScript、Python、Java 和数据库引擎在标志、环视等细节上可能不同
✓安全敏感的验证应结合服务端规则、输入规范化和业务校验
常见问题
不建议不测试就上线。正则需要结合业务规则、语言环境和边界样本验证,尤其是邮箱、URL、密码这类规则。
邮箱标准允许很多少见写法,业务系统通常只支持常见格式。过于严格会误拒用户,过于宽松又可能放过无效输入。
不能。正则只能检查长度和字符组成,不能判断是否泄露、是否常见、是否重复使用。密码安全还需要哈希存储和风控。
准备应匹配和不应匹配的样本,检查边界、空值、大小写、多语言字符和性能问题,再放入代码中测试。
还有疑问?查看我们的其他工具或 联系我们 获取支持。