如何从 JavaScript 的 URL 中获取域名

2025 年 3 月 18 日 | 3 分钟阅读

什么是 URL?

URL网址的另一种说法。例如,基于单词的 URL 是 TpointTech.com。URL 也可以使用 IP 地址创建(例如 192.168.2.24)。大多数用户在进行在线搜索时都会提供名称地址,因为名称比数字更容易记住。

Web 浏览器使用URL 向 Web 服务器请求特定页面。以下是URL语法格式列表。

语法

参数

Scheme(协议)-

指定 Internet 服务类型(通常使用 http 或 https)。

Prefix(前缀)-

它建立了一个域名前缀(www 是 http 的默认值)。

Domain(域名)-

它讨论了互联网上的域名(例如 TpointTech.com)。

Port(端口)-

它标识主机上的端口(80 是 http 的默认端口)。

Path(路径)-

它在服务器端创建路径。

Filename(文件名)-

标识资源或文档的名称。

JavaScript中从URL获取域名可能是一项有用的任务,原因有很多,例如出于 Web 分析或安全目的提取域名。在本文中,我们将探讨在 JavaScript 中从 URL 提取域名的不同方法,以及它们的优缺点。

1. 使用 window.location 对象

在 JavaScript 中从 URL 获取域名的最直接方法是使用window.location 对象,它提供了有关当前 URL 的信息。window.location.host 属性为我们提供了域名,如果存在,则包括端口号。这是一个示例

这种方法具有简单可靠的优点。但是,它只适用于当前 URL,因此如果您需要从其他 URL 提取域名,则需要使用其他方法。

2. 使用 URL 构造函数

在 JavaScript 中从 URL 提取域名的另一种方法是使用 URL 构造函数。它是一个内置的 JavaScript 对象,可以解析 URL 字符串并提供对其各个组件的访问。这是一个示例

URL 构造函数的优点是可以从任何有效的 URL(不仅仅是当前 URL)提取域名。但是,它仅在现代浏览器中可用,因此在使用之前需要检查它是否受支持。

3. 使用正则表达式

在 JavaScript 中从 URL 提取域名的更高级方法是使用正则表达式。正则表达式是模式匹配的强大工具,我们可以使用它们从 URL 中提取域名。这是一个示例

此正则表达式模式匹配 URL 中的域名,忽略协议(http 或 https)、用户名和密码以及路径。它通过查找不包含冒号、斜杠或换行符的字符序列的第一次出现来实现,前面可以选择性地加上协议、用户名和密码,以及可选的"www."前缀。match 方法返回一个包含整个匹配项和任何捕获组的数组,因此我们需要提取第二个项目(索引为 1)来获取域名。

这种方法具有灵活且适应不同 URL 格式的优点,但如果正则表达式模式不够精确,它也更复杂且容易出错。

4. 使用 DOM

最后,我们还可以通过使用DOM在 JavaScript 中从 URL 中提取域名。我们可以创建一个隐藏的锚元素,将其href 属性设置为我们要从中提取域名的 URL,然后读取 hostname 属性。这是一个示例

这种方法具有易于理解和实现的优点,但它也会创建一个DOM 元素,如果您需要重复执行此操作,这可能会有一些性能影响。

结论

在 JavaScript 中有多种从 URL 提取域名的方��,最佳方法取决于您的需求和约束。如果您只需要从当前 URL 提取域名,使用window.location 对象是最简单可靠的方法。