正则表达式速查
收录 40+ 常用正则表达式,覆盖邮箱、手机号、URL、IP 等校验场景,支持搜索与一键复制,可直接到正则测试工具调试
邮箱
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$匹配示例:test@example.com
手机号(大陆)
^1[3-9]\d{9}$匹配示例:13800138000
固定电话
^(0\d{2,3}-?)?\d{7,8}$匹配示例:010-88886666
身份证号(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]$匹配示例:110101199003077758
URL
^https?:\/\/[\w\-]+(\.[\w\-]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?$匹配示例:https://edjson.com/json/format
IPv4 地址
^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$匹配示例:192.168.1.1
IPv6 地址(简化)
^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$匹配示例:fe80::1 不匹配(含 :: 压缩)
MAC 地址
^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$匹配示例:00:1A:2B:3C:4D:5E
中国邮政编码
^[1-9]\d{5}$匹配示例:100000
QQ 号
^[1-9]\d{4,10}$匹配示例:10001
微信号
^[a-zA-Z][-_a-zA-Z0-9]{5,19}$匹配示例:wxid_abc123
车牌号(普通)
^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$匹配示例:京A12345
日期 YYYY-MM-DD
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$匹配示例:2026-08-18
时间 HH:mm:ss
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$匹配示例:23:59:59
强密码(8-20位,含大小写字母与数字)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d@$!%*?&]{8,20}$匹配示例:Abc12345
正整数
^[1-9]\d*$匹配示例:123
整数(含负数)
^-?\d+$匹配示例:-42
浮点数
^-?\d+(\.\d+)?$匹配示例:3.14
十六进制颜色
^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$匹配示例:#4e6ef2
汉字
^[一-鿿]+$匹配示例:在线工具
提取 URL 链接
https?:\/\/[\w\-]+(\.[\w\-]+)+([\w\-.,@?^=%&:/~+#]*)?匹配示例:从文本中提取全部链接
提取图片地址
\b(?:https?:)?\/\/[^"']+\.(?:png|jpe?g|gif|webp|svg)\b匹配示例:提取 img src
提取 HTML 标签
<[^>]+>匹配示例:剥离 HTML 标签
提取数字
-?\d+(?:\.\d+)?匹配示例:从任意文本提取数字
提取中文
[一-鿿]+匹配示例:提取中文内容
提取英文单词
[a-zA-Z]+(?:[-'][a-zA-Z]+)*匹配示例:提取 it's 等单词
提取邮箱
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}匹配示例:提取文本中的邮箱
匹配双引号内字符串
"[^"]*"匹配示例:"hello world"
版本号
\d+(?:\.\d+){1,3}匹配示例:1.2.3 / 4.5.6.7
去除首尾空白
^\s+|\s+$匹配示例:配合 replace 使用
去除行尾空白
\s+$匹配示例:代码规范化
匹配空白行
^\s*$匹配示例:删除空行
驼峰转蛇形(配合 replace)
([A-Z])匹配示例:替换为 '_$1' 并转小写
文件扩展名
\.[a-zA-Z0-9]+$匹配示例:从文件名提取 .jpg
匹配 Markdown 标题
^#{1,6}\s+.+$匹配示例:# 一级标题
匹配 Markdown 链接
\[([^\]]+)\]\(([^)]+)\)匹配示例:[文字](https://...)
匹配代码注释
(?:\/\/.*$|\/\*[\s\S]*?\*\/)匹配示例:// 注释 与 /* 块注释 */
千分位分隔(配合 replace)
\B(?=(\d{3})+(?!\d))匹配示例:1234567 → 1,234,567
中文姓名
^[一-鿿·]{2,20}$匹配示例:张三丰
座机区号
^0\d{2,3}$匹配示例:010
正则语法速记
元字符:
量词:
. 任意字符 · \d 数字 · \w 单词字符 · \s 空白 · [abc] 字符组 · (x|y) 分支 · ^$ 起止锚点。量词:
* 零或多 · + 一或多 · ? 零或一 · {m,n} m 到 n 次 · (?=x) 前瞻 · (?!x) 负前瞻 · (?<=x) 后顾。 注意 JavaScript 正则没有 \A\z,全串匹配请用 ^...$。