星点 星点-正则工具 本系列首页
关于
版本 v1.0.0

URL 网址正则表达式

匹配网址时最容易忽略的是协议与主机名结构。下面这条规则要求 http/https 协议且主机名至少包含一个点号。

默认正则

/^https?:\/\/[\w.-]+(?:\.[\w.-]+)+[\w\-._~:/?#\[\]@!$&'()*+,;=%]*$/

匹配以 http:// 或 https:// 开头、含主机名与可选路径/查询的网址。

URL 正则 · 规则说明

URL 由协议、主机、端口、路径、查询与片段组成。工程校验通常只强制协议与主机名结构,其余部分放宽。

^https?:\/\/ 表示 http 或 https;主机名由字母数字、点与连字符组成且至少一个点号;后面允许常见 URL 字符。

该规则不校验域名合法性,也不覆盖 ftp、file 等协议;如需严格校验,可改用 URL 解析 API。

正确示例

  • https://www.example.com
  • http://a.b.c/path?x=1#top
  • https://xingdian.net/app/regex/

错误示例

  • www.example.com
  • ftp://example.com
  • http://localhost

边界与注意事项

常见问题

Q:为什么裸域名 www.example.com 不匹配?

规则要求以 http:// 或 https:// 开头。若也要匹配裸域名,可把协议部分改为 (?:https?:\/\/)?。

Q:localhost 为什么不匹配?

规则要求主机名至少包含一个点号。如需匹配 localhost 或内网主机,请调整主机名部分。

Q:如何同时校验 URL 是否可达?

正则可校验格式,但可达性需要实际发起请求,浏览器端会受跨域限制。

Q:提取文本中的链接怎么做?

去掉 ^ 与 $,并在“搜索/提取”模式中使用,即可从长文本中找出全部链接。

相关场景

手机号正则

匹配中国大陆 11 位手机号:首位为 1,第二位 3-9,其余 9 位为数字。

立即测试

邮箱正则

匹配常见邮箱:@ 前为字母数字与 . _ % + -,@ 后为域名,最后是至少 2 位字母的顶级域。

立即测试

IPv4 正则

匹配标准点分十进制 IPv4,每段取值 0-255。

立即测试

IPv6 正则

匹配完整写法(8 段十六进制)的 IPv6 地址。

立即测试

身份证正则

匹配 18 位居民身份证号:前 6 位地区码、8 位出生日期、3 位顺序码与 1 位校验位(可为 X)。

立即测试

日期正则

匹配 YYYY-MM-DD 格式日期,月份 01-12、日 01-31。

立即测试

日期时间正则

匹配日期与时间组合,日期与时间之间用空格或 T 分隔,秒可省略。

立即测试

UUID 正则

匹配标准 8-4-4-4-12 分段的 UUID 字符串。

立即测试

中文正则

匹配常用汉字区间 U+4E00–U+9FA5 的中文字符。

立即测试

密码正则

8-20 位,且同时包含字母与数字,允许常见特殊符号。

立即测试

用户名正则

字母开头,总长 4-16 位,只含字母、数字与下划线。

立即测试