正则表达式在线测试
JavaScript 引擎
拖入 TXT / CSV / JSON / LOG,最大 200 KB
$1 · $& · $<名称>
浏览器本地处理 · Ctrl / ⌘ + Enter 执行替换
匹配 —捕获组 —
0 / 0位置从 0 开始,结束位置不包含在内
未参与的分组单独标注
g 关闭时仅替换第一个匹配
点击语法插入表达式,或点击替换语法插入替换框。完整教程
就绪
索引和长度按 UTF-16 代码单元计算;复杂表达式执行超时会自动停止。
常用正则表达式
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 |
没有找到符合条件的表达式。