Was ist eine URL?
A URL ist ein anderer Name für a Webadresse . Eine wortbasierte URL ist beispielsweise Javatpoint.com. A URL kann auch über eine IP-Adresse erstellt werden (z.B. 192.168.2.24 ). Die meisten Verbraucher geben bei einer Online-Suche die Adresse des Namens an, da Namen leichter zu merken sind als Zahlen.
Webbrowser verwenden URLs um Webserver nach bestimmten Seiten zu fragen. Nachfolgend finden Sie eine Liste von a Syntax der URL Und Format .
Syntax
Scheme://prefix.domain:port/path/filename
Parameter
Planen-
Die Art des Internetdienstes wird angegeben (im Allgemeinen wird http oder https verwendet).
Präfix-
Es richtet ein Domänenpräfix ein (www ist die Standardeinstellung für http).
Domain-
Es geht um den Domainnamen im Internet (z. B. javatpoint.com ).
So schließen Sie den Entwicklermodus
Hafen -
Es identifiziert den Port auf dem Host ( 80 ist die Standardeinstellung für http).
Weg -
Es erstellt einen Pfad auf der Serverseite.
Dateiname -
Es identifiziert den Namen einer Ressource oder eines Dokuments.
Den Domainnamen von a abrufen URL In Javascript kann aus verschiedenen Gründen eine nützliche Aufgabe sein, beispielsweise zum Extrahieren des Domänennamens für Webanalyse- oder Sicherheitszwecke. In dieser Antwort untersuchen wir verschiedene Möglichkeiten zum Extrahieren des Domainnamens aus einer URL in Javascript sowie deren Vor- und Nachteile.
1. Verwenden des window.location-Objekts
Der einfachste Weg, den Domainnamen von einer URL in Javascript abzurufen, ist die Verwendung von window.location-Objekt , die Informationen über die aktuelle URL bereitstellt. Der window.location.host Die Eigenschaft gibt uns den Domänennamen, einschließlich der Portnummer, falls vorhanden. Hier ist ein Beispiel:
Const domain = window.location.host;
Dieser Ansatz hat den Vorteil, dass er einfach und zuverlässig ist. Allerdings funktioniert es nur für die aktuelle URL. Wenn Sie also den Domänennamen von einer anderen URL extrahieren müssen, müssen Sie eine andere Methode verwenden.
2. Verwendung des URL-Konstruktors
Eine andere Möglichkeit, den Domänennamen aus einer URL in Javascript zu extrahieren, ist die Verwendung des URL-Konstruktors. Es handelt sich um ein integriertes Javascript-Objekt, das einen URL-String analysieren und Zugriff auf seine verschiedenen Komponenten ermöglichen kann. Hier ist ein Beispiel:
Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname;
Der URL-Konstruktor hat den Vorteil, dass er den Domänennamen aus jeder gültigen URL extrahieren kann, nicht nur aus der aktuellen. Da es jedoch nur in modernen Browsern verfügbar ist, müssen Sie vor der Verwendung prüfen, ob es unterstützt wird.
3. Verwendung regulärer Ausdrücke
Ein fortgeschrittenerer Ansatz zum Extrahieren des Domänennamens aus einer URL in Javascript ist die Verwendung regulärer Ausdrücke. Reguläre Ausdrücke sind ein leistungsstarkes Werkzeug für den Mustervergleich und wir können sie verwenden, um den Domänennamen aus einer URL zu extrahieren. Hier ist ein Beispiel:
Consturl = 'https://www.example.com/path/to/file.html'; Constdomain = url.match(/^(?:https?://)?(?:[^@ ]+@)?(?:www.)?([^:/ ]+)/im)[1];
Dieses reguläre Ausdrucksmuster gleicht den Domänennamen in einer URL ab und ignoriert dabei das Protokoll ( http oder https ), Benutzername und Passwort sowie Pfad. Es funktioniert, indem es nach dem ersten Vorkommen einer Zeichenfolge sucht, die keinen Doppelpunkt, Schrägstrich oder Zeilenumbruch enthält und der ein optionales Protokoll, ein Benutzername und ein Kennwort sowie optional vorangestellt sind 'www.' Präfix. Die match-Methode gibt ein Array zurück, das die gesamte Übereinstimmung und alle erfassten Gruppen enthält. Daher müssen wir das zweite Element (bei Index 1) extrahieren, um den Domänennamen zu erhalten.
Unterschied zwischen Liebe und Gleichem
Dieser Ansatz hat den Vorteil, dass er flexibel und an verschiedene URL-Formate anpassbar ist, ist aber auch komplexer und fehleranfälliger, wenn das Muster des regulären Ausdrucks nicht präzise genug ist.
4. Verwendung des DOM
Schließlich können wir den Domainnamen auch aus einer URL in Javascript extrahieren, indem wir die verwenden DOM . Wir können ein verstecktes Ankerelement erstellen und es festlegen href-Attribut auf die URL, aus der wir den Domänennamen extrahieren möchten, und lesen Sie dann die Eigenschaft hostname. Hier ist ein Beispiel:
Consturl = 'https://www.example.com/path/to/file.html'; Const a = document.createelement('a'); A.href = url; Const domain = a.hostname;
Dieser Ansatz hat den Vorteil, dass er leicht zu verstehen und umzusetzen ist, aber er schafft auch eine DOM-Element Dies kann Auswirkungen auf die Leistung haben, wenn Sie dies wiederholt tun müssen.
Abschluss
Es gibt verschiedene Möglichkeiten, den Domänennamen aus einer URL in Javascript zu extrahieren, und der beste Ansatz hängt von Ihren Anforderungen und Einschränkungen ab. Wenn Sie nur den Domänennamen aus der aktuellen URL extrahieren müssen, verwenden Sie die window.location-Objekt ist die einfachste und zuverlässigste Methode.