首頁 > web前端 > js教程 > 如何從沒有正規表示式的 URL 中提取主機名稱?

如何從沒有正規表示式的 URL 中提取主機名稱?

Barbara Streisand
發布: 2024-11-12 19:01:02
原創
225 人瀏覽過

How to Extract Hostname from a URL Without Regular Expressions?

不使用正規表示式擷取主機名稱

問題陳述

符合 URL 的主機名稱而不擷取整個 URL 是一項常見任務。給定包含多個 URL 的文字字串,目標是僅提取解析到特定網域(例如 example.com)的兩個實例的主機名稱。

替代解決方案

而不是利用正規表示式有時效率低下,可以採用另一種方​​法:

var tmp = document.createElement('a');
tmp.href = "http://www.example.com/12xy45";
登入後複製

此方法利用了一個隱藏的優勢。透過建立臨時錨元素並為其指派 URL 字串,我們可以存取主機名稱和主機屬性,這提供了不帶 URL 路徑或協定的主機名稱元件。

// tmp.hostname will now contain 'www.example.com'
// tmp.host will now contain hostname and port 'www.example.com:80'
登入後複製

將此功能封裝成一個方便的函數:

function url_domain(data) {
  var a = document.createElement('a');
  a.href = data;
  return a.hostname;
}
登入後複製

透過提供 URL 字串作為此函數的參數,我們取得主機名稱元件作為結果。

以上是如何從沒有正規表示式的 URL 中提取主機名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板