You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:使用JavaScript正则表达式解析URL语义组成部分

使用JavaScript正则表达式解析URL的语义组成部分

示例URL语义组件解析

以下是几个示例URL的语义组件拆解:

https://google.com:443 - https:// 为协议(protocol),:443 为端口(port)
cdn.ajax.com - cdn 为服务标识(service),ajax.com 为域名(domain),cdn.ajax.com 为完全限定域名(FQDN)
www.clients6.gc.google.com/project - clients6.gc 为子域名(subdomain),/project 为路径(path)
www.google.com/?query=x&#hash=y - ?query=x& 为查询字符串(query string),#hash=y 为哈希字符串(hash string)

解析限制

无需解析用户/密码(存在安全隐患)或单个查询参数(不同实现差异较大,比如部分Java CGI工具使用;替代&)。

服务类前缀的处理标准

浏览器会在地址栏中隐藏www这类服务类前缀,因此服务类前缀不属于子域名已经成为业界事实标准(DNS管理员场景除外)。

多数浏览器、手机及应用都会按照这个标准处理www.及其他常见Web服务子域名前缀(如https://www.),解析器也应当遵循该标准。

标准解析示例

对于以下形式的URL:

www.sub.domain.google.com/path?query=x&#hash=y
https://www.sub.domain.google.com/path?query=x&#hash=y
https://www.sub.domain.google.com:443/path?query=x&#hash=y

语义链接解析器应返回如下结果:

{
  "protocol": "https://",
  "fqdn": "www.sub.domain.google.com",
  "service": "www",
  "subdomain": "sub.domain", /* 不含www. */
  "domain": "google.com",
  "port": "443", /* 可选字段 */
  "path": "/path",
  "query": "query=x&",
  "hash": "hash=y"
}

内容的提问来源于stack exchange,提问作者Wil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:35:25