JavaScriptでURLからホスト名を抽出する方法をわかりやすく解説
JavaScriptでURLからホスト名(ドメイン名)の部分だけを取り出したい場合は、URLオブジェクトが持つhostnameプロパティを使うのが最も簡単です。
URLオブジェクトとhostnameプロパティ
URLコンストラクタにURL文字列を渡してインスタンスを作成すると、そのURLを構成する各要素(プロトコル、ホスト名、パス、クエリなど)に個別にアクセスできるようになります。このうちホスト名はhostnameプロパティで取得できます。
サンプルコード
以下は、実際に動作するシンプルなデモです。
<!DOCTYPE html>
<html>
<body>
<script>
var url = new URL("https://example.com/asdf/asdf/sadf.aspx?blah");
document.write(url.hostname);
</script>
</body>
</html>
実行結果
example.com
この例では、パス部分(/asdf/asdf/sadf.aspx)やクエリ文字列(?blah)は無視され、「example.com」というホスト名だけが出力されます。
現在開いているページのホスト名を取得するには
ブラウザで現在表示中のページのホスト名を取得したい場合は、location.hostnameを使うと便利です。
console.log(location.hostname); // 例: "www.example.com"
補足:hostnameとhostの違い
似たプロパティにhostがあります。hostはポート番号が指定されている場合にそれを含めて返す点が異なります。たとえば https://example.com:8080/ の場合、hostnameは「example.com」、hostは「example.com:8080」となります。ポート番号が不要な場合はhostnameを使用しましょう。
-
JavaScriptでURLをホスト名とパスに解析する方法
Window.location は読み取り専用のプロパティで、現在のドキュメントの位置情報を保持する Location オブジェクトを返します。このオブジェクトを利用することで、URL をホスト名やパスなどに簡単に分解(解析)できます。Location インターフェースは、そのオブジェクトがリンクされている場所(URL)を表します。location オブジェクトには、以下のような便利なプロパティが用意されています。Locationオブジェクトの主なプロパティLocation.hrefURL 全体を格納する DOMString です。この値を変更すると、関連付けられたドキュメントが新しいページへ
-
JavaScriptでURL文字列からホスト名を抽出する方法
URL文字列からホスト名(ドメイン部分)を抽出するには、JavaScriptのsplit()メソッドを活用するのが便利です。ここでは、実際のコード例とともにその手順をわかりやすく解説します。コード例function gettingTheHostNameFromURL(websiteURL) { var getTheHostName; if (websiteURL.indexOf(//) > -1) { getTheHostName = websiteURL.split(/)[2]; } else { getTheHostName =