JavaScript 中的 URL 解析:提取主機名稱和路徑
解析 URL 來分離主機名稱和路徑是 Web 開發中的常見操作。在 JavaScript 中,有多種方法可以完成此任務。讓我們透過具體範例來探討其中的一些內容。
現代方法:使用 URL 建構子
URL 建構子是一種現代且有效率的解析 URL 的方法。它產生一個具有主機名稱、路徑名等屬性的物件。例如,給定URL:
var a = "http://example.com/aa/bb/"
我們可以使用URL 建構函式解析它:
const parsedURL = new URL(a); console.log(parsedURL.hostname); // "example.com" console.log(parsedURL.pathname); // "/aa/bb"
注意: 主機名稱僅包含網域名稱,不包含網域名稱端口,而主機屬性包括兩者。
替代方法
正規表示式:
使用正規表示式也可以解析URL。以下是範例:
const regex = /^(?:https?:\/\/)?(?:www\.)?([^\/\n]+)(?:\/(.*))?$/; const match = regex.exec(a); console.log(match[1]); // "example.com" console.log(match[2]); // "/aa/bb"
Location 物件:
Location 物件提供瀏覽器環境中與 URL 相關的屬性的存取。
const parsedURL = window.location; console.log(parsedURL.hostname); // "example.com" console.log(parsedURL.pathname); // "/aa/bb"
選擇哪一種方式取決於特定的需求和環境。對於現代 JavaScript 應用程序,通常建議使用 URL 建構函數,而正規表示式或 Location 物件可能適合遺留支援或特定情況。
以上是如何在 JavaScript 中有效率地從 URL 中提取主機名稱和路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!