正则表达式在线测试

JavaScript 引擎
g
拖入 TXT / CSV / JSON / LOG,最大 200 KB
$1 · $& · $<名称>

浏览器本地处理 · Ctrl / ⌘ + Enter 执行替换

匹配 —捕获组 —
0 / 0位置从 0 开始,结束位置不包含在内
就绪

索引和长度按 UTF-16 代码单元计算;复杂表达式执行超时会自动停止。

常用正则表达式
59 项

JavaScript 表达式;按表内修饰符使用。业务有效性需另行校验。

数字与金额

数字与金额正则表达式
用途 / 说明表达式 / 修饰符示例操作
纯数字串校验允许前导零;只匹配 ASCII 数字。^\d+$修饰符:无可匹配:12345可匹配:0007不可匹配:12.3不可匹配:-1
恰好 4 位数字校验将 4 替换为需要的位数。^\d{4}$修饰符:无可匹配:1234可匹配:0007不可匹配:123不可匹配:12345
至少 3 位数字校验将 3 替换为最少位数。^\d{3,}$修饰符:无可匹配:123可匹配:0007不可匹配:12不可匹配:1.23
2–4 位数字校验将 2、4 替换为最小和最大位数。^\d{2,4}$修饰符:无可匹配:12可匹配:1234不可匹配:1不可匹配:12345
非负整数校验不允许前导零;包含 0。^(?:0|[1-9]\d*)$修饰符:无可匹配:0可匹配:123不可匹配:01不可匹配:-1
正整数校验大于 0;数字内部可以包含 0。^[1-9]\d*$修饰符:无可匹配:1可匹配:123不可匹配:0不可匹配:01
负整数校验小于 0;不接受 -0。^-[1-9]\d*$修饰符:无可匹配:-1可匹配:-102不可匹配:-0不可匹配:-01
非正整数校验0 或负整数;不接受 -0。^(?:0|-[1-9]\d*)$修饰符:无可匹配:0可匹配:-123不可匹配:1不可匹配:-0
有符号整数或小数校验允许正负号;不支持指数记法。^[+-]?(?:0|[1-9]\d*)(?:\.\d+)?$修饰符:无可匹配:+12.3可匹配:-0.5不可匹配:.5不可匹配:01.2
非负整数或小数校验可含小数;不是 IEEE 浮点精度检查。^(?:0|[1-9]\d*)(?:\.\d+)?$修饰符:无可匹配:0可匹配:12.30不可匹配:-1不可匹配:01.2
非正整数或小数校验小于等于 0;拒绝负零与前导零。^(?:0(?:\.0+)?|-(?=.*[1-9])(?:0|[1-9]\d*)(?:\.\d+)?)$修饰符:无可匹配:0.00可匹配:-0.12不可匹配:0.1不可匹配:-0.00
严格正小数校验必须含小数点且数值大于 0。^(?=.*[1-9])(?:0|[1-9]\d*)\.\d+$修饰符:无可匹配:0.1可匹配:12.0不可匹配:0.0不可匹配:12
严格负小数校验必须含小数点且数值小于 0。^-(?=.*[1-9])(?:0|[1-9]\d*)\.\d+$修饰符:无可匹配:-0.1可匹配:-12.0不可匹配:-0.0不可匹配:-12
正数,最多两位小数校验整数部分从 1 开始;不含 0.x。^[1-9]\d*(?:\.\d{1,2})?$修饰符:无可匹配:12可匹配:12.34不可匹配:0.5不可匹配:01.2
有符号数,最多两位小数校验允许整数与 1–2 位小数。^[+-]?(?:0|[1-9]\d*)(?:\.\d{1,2})?$修饰符:无可匹配:-12.34可匹配:+0.5不可匹配:1.234不可匹配:01.2
非负数,恰好两位小数校验必须有小数点与两位小数。^(?:0|[1-9]\d*)\.\d{2}$修饰符:无可匹配:0.00可匹配:12.34不可匹配:12不可匹配:12.3
非负数,最多三位小数校验允许整数;有小数时为 1–3 位。^(?:0|[1-9]\d*)(?:\.\d{1,3})?$修饰符:无可匹配:12可匹配:12.345不可匹配:12.3456不可匹配:-1
金额,最多两位小数校验非负金额格式;计算金额建议使用十进制或分。^(?:0|[1-9]\d*)(?:\.\d{1,2})?$修饰符:无可匹配:0.50可匹配:10000.00不可匹配:01.2不可匹配:-1
金额,可含千分位校验逗号分组必须每组三位;不接受前导零。^(?:0|[1-9]\d*|[1-9]\d{0,2}(?:,\d{3})+)(?:\.\d{1,2})?$修饰符:无可匹配:10,000.00可匹配:1234.5不可匹配:10,00不可匹配:01,000

字符与长度

字符与长度正则表达式
用途 / 说明表达式 / 修饰符示例操作
汉字(Han 脚本)校验包含扩展汉字;需要支持 Unicode 属性转义。^\p{Script=Han}+$修饰符:u可匹配:你好世界可匹配:不可匹配:abc不可匹配:中文1
基本汉字区校验只检查 U+4E00–U+9FFF,不等于全部汉字。^[\u4E00-\u9FFF]+$修饰符:无可匹配:你好可匹配:汉字不可匹配:不可匹配:中文1
英文与数字校验仅 ASCII 英文字母与数字。^[A-Za-z0-9]+$修饰符:无可匹配:abc123可匹配:ABC不可匹配:abc_不可匹配:中文
4–40 位英文与数字校验长度范围可自行修改。^[A-Za-z0-9]{4,40}$修饰符:无可匹配:abc12345可匹配:AB12不可匹配:abc不可匹配:abc_
3–20 个任意代码点校验包括换行;按 Unicode 代码点计数,不按字形簇。^[\s\S]{3,20}$修饰符:u可匹配:abc可匹配:中a不可匹配:ab不可匹配:
英文字母校验仅 ASCII 大小写字母。^[A-Za-z]+$修饰符:无可匹配:abcXYZ可匹配:Hello不可匹配:abc1不可匹配:中文
大写英文字母校验不要启用 i,否则会放过小写。^[A-Z]+$修饰符:无可匹配:ABCXYZ可匹配:HELLO不可匹配:abc不可匹配:A1
小写英文字母校验不要启用 i,否则会放过大写。^[a-z]+$修饰符:无可匹配:abcxyz可匹配:hello不可匹配:ABC不可匹配:a1
字母、数字或下划线校验显式列出 ASCII 字符,避免跨引擎误解 \w。^[A-Za-z0-9_]+$修饰符:无可匹配:abc_123可匹配:__不可匹配:中文不可匹配:a-b
3–20 位字母、数字或下划线校验3–20 个 ASCII 字符。^[A-Za-z0-9_]{3,20}$修饰符:无可匹配:abc_123可匹配:a_1不可匹配:ab不可匹配:a-b
汉字、英文、数字、下划线校验含扩展汉字;不包含所有中文标点。^[\p{Script=Han}A-Za-z0-9_]+$修饰符:u可匹配:你好abc_123可匹配:A1不可匹配:abc-不可匹配:a b
汉字、英文、数字校验不含下划线与中文标点。^[\p{Script=Han}A-Za-z0-9]+$修饰符:u可匹配:你好abc123可匹配:A1不可匹配:abc_不可匹配:a b
排除指定字符校验排除所列字符;不能用于防 SQL 注入或 XSS。^[^%&',;=?$\x22]+$修饰符:无可匹配:abc123!@#可匹配:你好不可匹配:a%b不可匹配:a"b
不含波浪号校验至少一个字符;可以包含换行。^[^~]+$修饰符:无可匹配:abc123可匹配:你好不可匹配:a~b不可匹配:~

账号与密码

账号与密码正则表达式
用途 / 说明表达式 / 修饰符示例操作
账号规则示例校验字母开头,5–16 位 ASCII 字符。^[A-Za-z][A-Za-z0-9_]{4,15}$修饰符:无可匹配:abc_123可匹配:A1234不可匹配:1abcd不可匹配:abcd
密码规则:字母开头校验教学规则:6–18 位,不代表安全强度。^[A-Za-z][A-Za-z0-9_]{5,17}$修饰符:无可匹配:a12345_可匹配:Abc123不可匹配:123456不可匹配:abcde
密码规则:大小写及数字校验8–64 位,只允许字母数字;不是强度认证。^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z0-9]{8,64}$修饰符:无可匹配:Abc12345可匹配:Abc123456789不可匹配:abc12345不可匹配:ABC12345
密码规则:必须含特殊字符校验8–64 个代码单元;含大小写、数字、特殊字符,不含空白。^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s])[^\s]{8,64}$修饰符:无可匹配:Abc12345!可匹配:Xy9@word不可匹配:Abc12345不可匹配:Abc 123!
QQ 号格式示例校验仅格式;不验证账号存在。^[1-9]\d{4,}$修饰符:无可匹配:10000可匹配:123456789不可匹配:01234不可匹配:1234

网络与联系

网络与联系正则表达式
用途 / 说明表达式 / 修饰符示例操作
常见 ASCII 邮箱校验简化规则;不覆盖全部合法邮箱,不验证可投递。^[A-Za-z0-9_%+-]+(?:\.[A-Za-z0-9_%+-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,63}$修饰符:无可匹配:test@mail.com可匹配:a.b+tag@example.com不可匹配:.a@example.com不可匹配:a@-host.com
常见域名校验ASCII 域名格式,允许末尾根点;不验证 DNS。^(?=.{1,253}\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,63}\.?$修饰符:无可匹配:www.example.com可匹配:a-b.example.com.不可匹配:-abc.com不可匹配:abc-.com
HTTP / HTTPS URL 外形校验仅粗筛;完整解析请使用 URL API。^https?://[^\s/?#]+(?:[/?#][^\s]*)?$修饰符:i可匹配:https://example.com/a?q=1可匹配:http://localhost:8080不可匹配:ftp://abc.com不可匹配:https://
大陆手机号外形校验宽松 11 位格式,不是最新号段、归属地或有效性校验。^1[3-9]\d{9}$修饰符:无可匹配:13812345678可匹配:19912345678不可匹配:12345678901不可匹配:138123456789
座机:区号可选校验常见格式示例;非完整号码规划校验。^(?:0\d{2,3}-)?[1-9]\d{6,7}$修饰符:无可匹配:010-12345678可匹配:1234567不可匹配:10-12345678不可匹配:010-01234567
座机:含可选分机校验分机为 1–4 位;区号可选。^(?:0\d{2,3}-)?[1-9]\d{6,7}(?:-\d{1,4})?$修饰符:无可匹配:010-12345678-123可匹配:1234567-12不可匹配:010-12345678-12345不可匹配:a010-12345678
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]$修饰符:无可匹配:110101199003071234可匹配:11010119900307123X不可匹配:010101199003071234不可匹配:110101199013071234
旧式 15 位身份证外形校验仅兼容旧格式,不作为身份核验。^[1-9]\d{5}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}$修饰符:无可匹配:110101900307123不可匹配:010101900307123不可匹配:110101901307123
邮政编码外形校验大陆常见六位格式,不验证是否实际分配。^[1-9]\d{5}$修饰符:无可匹配:100000可匹配:518000不可匹配:010000不可匹配:1000000
IPv4 地址校验每段 0–255;拒绝多位前导零,不判断是否公网。^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$修饰符:无可匹配:192.168.1.1可匹配:0.0.0.0不可匹配:256.1.1.1不可匹配:01.2.3.4

日期与时间

日期与时间正则表达式
用途 / 说明表达式 / 修饰符示例操作
YYYY-MM-DD 外形校验检查月日范围,不检查大小月与闰年。^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$修饰符:无可匹配:2026-10-29可匹配:2024-02-29不可匹配:2026-13-01不可匹配:2026-1-1
月份 1–12校验可选前导零。^(?:0?[1-9]|1[0-2])$修饰符:无可匹配:1可匹配:01不可匹配:0不可匹配:13
日 1–31校验不判断具体月份。^(?:0?[1-9]|[12]\d|3[01])$修饰符:无可匹配:1可匹配:01不可匹配:0不可匹配:32
24 小时时间校验HH:mm,可选秒;不含闰秒。^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$修饰符:无可匹配:09:30可匹配:23:59:59不可匹配:24:00不可匹配:12:60

文件与文本

文件与文本正则表达式
用途 / 说明表达式 / 修饰符示例操作
XML 文件名校验仅扩展名与常见禁用字符筛选,不等于文件系统完整校验。^[^<>:"/\\|?*\x00-\x1F]+\.xml$修饰符:i可匹配:test-1.xml可匹配:文件.XML不可匹配:file.xml.exe不可匹配:a/b.xml
提取 Han 字符提取提取而非整串校验。\p{Script=Han}+修饰符:gu可匹配:你好可匹配:不可匹配:abc不可匹配:123
提取非 ASCII 字符提取不称作“双字节”;编码与字符长度是不同概念。[^\x00-\x7F]+修饰符:gu可匹配:汉字可匹配:é不可匹配:ABC不可匹配:123
空白行提取只匹配行内空格 / Tab,可兼容 CRLF;不吞后续空行。^[\t ]*\r?$修饰符:gm可匹配:(空字符串)可匹配: \t不可匹配:abc不可匹配:a b
简单 HTML 标签片段提取仅演示粗略提取;不能解析嵌套或用于 HTML 清洗。<[^>]+>修饰符:g可匹配:<div>可匹配:</div>不可匹配:text不可匹配:<>
首尾空白替换用空字符串替换;实际去空白通常直接用 trim()。^\s+|\s+$修饰符:g可匹配: abc可匹配:abc 不可匹配:abc
HEX / HEXA 色值校验支持 CSS 3、4、6、8 位十六进制色值。^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$修饰符:无可匹配:#fff可匹配:#11223380不可匹配:#12不可匹配:#ggg