JS獲取當前域名的幾種方法詳解

在Web開發中,經常需要獲取當前頁面的域名,以方便進行相關操作。本文將介紹JS獲取當前域名的幾種方法,包括location對象、正則表達式和URLSearchParams等,幫助讀者更好地理解JS獲取域名的原理和方法。

一、location對象

location對象是JS中的一個內置對象,用於獲取當前窗口的URL信息。其中,location.hostname屬性可以獲取當前頁面的域名,具體代碼如下:

  
    const domain = location.hostname;
    console.log("當前域名為:" + domain);
  

以上代碼將輸出當前頁面的域名,例如:www.example.com。

需要注意的是,location.hostname只會返回域名信息,而不包括協議和埠號,如果需要獲取完整的URL,需要結合其他屬性使用,例如location.href。

二、正則表達式

正則表達式可以對字元串進行匹配和提取,通過正則表達式我們可以快速提取當前頁面的域名信息。具體代碼如下:

  
    const url = window.location.href;
    const reg = /^https?:\/\/([^/]+)/i;
    const domain = url.match(reg)[1];
    console.log("當前域名為:" + domain);
  

以上代碼將獲取當前頁面的URL,通過正則表達式提取其中的域名信息並輸出。

需要注意的是,正則表達式中的「^https?:\/\/」表示匹配以http或https開頭的字元串,「([^/]+)」表示匹配除了「/」以外的任意字元。

三、URLSearchParams

URLSearchParams是JS中用於操作URL參數的內置對象,可以快速提取URL中的參數和值。在獲取當前域名時,我們可以通過URLSearchParams獲取當前URL中不包含參數的部分,即域名。具體代碼如下:

  
    const url = new URL(window.location.href);
    const domain = url.origin;
    console.log("當前域名為:" + domain);
  

以上代碼使用URL構造函數將當前頁面的URL解析為一個URL對象,再通過URL對象的origin屬性獲取當前頁面的域名信息,並輸出。

四、判斷協議和埠號

在實際開發中,經常需要根據當前頁面的協議和埠號進行相關操作。我們可以通過location對象的protocol和port屬性獲取當前頁面的協議和埠號。具體代碼如下:

  
    const protocol = window.location.protocol;
    const port = window.location.port;
    console.log("當前協議為:" + protocol);
    console.log("當前埠號為:" + port);
  

以上代碼將輸出當前頁面的協議和埠號信息,例如:http和80。

五、總結

本文介紹了JS獲取當前域名的幾種方法,包括location對象、正則表達式和URLSearchParams等。通過這些方法,我們可以在實際開發中更方便地獲取當前頁面的域名信息,並結合協議和埠號進行相關操作。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/188677.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 13:33
下一篇 2024-11-28 13:33

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Kubesphere私有域名配置

    本文將從以下幾個方面介紹如何在Kubesphere中配置私有域名: 一、什麼是Kubesphere私有域名 Kubesphere是基於Kubernetes的開源多雲容器化平台,它允…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • 兩個域名指向同一IP不同埠打開不同網頁的實現方法

    本文將從以下幾個方面詳細闡述兩個域名指向同一個IP不同埠打開不同網頁的實現方法。 一、域名解析 要實現兩個域名指向同一個IP不同埠,首先需要進行域名解析。在域名解析的時候,將這…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • JS圖片沿著SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿著SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 如何使用JS調用Python腳本

    本文將詳細介紹通過JS調用Python腳本的方法,包括使用Node.js、Python shell、child_process等三種方法,以及在Web應用中的應用。 一、使用Nod…

    編程 2025-04-27
  • 如何反混淆美團slider.js

    本文將從多個方面詳細闡述如何反混淆美團slider.js。在開始之前,需要明確的是,混淆是一種保護JavaScript代碼的方法,其目的是使代碼難以理解和修改。因此,在進行反混淆操…

    編程 2025-04-27
  • Python要學JS嗎?

    Python和JavaScript都是非常受歡迎的編程語言。然而,你可能會問,既然我已經學了Python,是不是也需要學一下JS呢?在本文中,我們將圍繞這個問題進行討論,並從多個角…

    編程 2025-04-27

發表回復

登錄後才能評論