logo

Hoe u een domeinnaam uit een URL kunt halen in JavaScript

Wat is een URL?

A URL is een andere naam voor a webadres . Een op woorden gebaseerde URL is bijvoorbeeld Javatpoint.com. A URL kan ook worden aangemaakt met behulp van een IP-adres (bijv. 192.168.2.24 ). De meeste consumenten geven het adres van de naam op wanneer ze online zoeken, omdat namen gemakkelijker te onthouden zijn dan cijfers.

Webbrowsers gebruiken URL's om webservers om bepaalde pagina's te vragen. Hieronder vindt u een lijst van A De syntaxis van de URL En formaat .

Syntaxis

zweven in css
 Scheme://prefix.domain:port/path/filename 

Parameters

Schema-

Het type internetdienst wordt gespecificeerd (in het algemeen wordt http of https gebruikt).

Voorvoegsel-

Er wordt een domeinvoorvoegsel ingesteld (www is de standaard voor http).

Domein-

Het bespreekt de domeinnaam op internet (bijv. javatpoint.com ).

Haven -

Het identificeert de poort op de host ( 80 is de standaardwaarde voor http).

bfs zoeken

Pad -

Het creëert een pad aan de serverzijde.

Bestandsnaam -

een string naar datum converteren

Het identificeert de naam van een bron of document.

De domeinnaam verkrijgen van een URL in javascript kan om verschillende redenen een nuttige taak zijn, zoals het extraheren van de domeinnaam voor webanalyse of beveiligingsdoeleinden. In dit antwoord onderzoeken we verschillende manieren om de domeinnaam uit een URL in JavaScript te extraheren, samen met hun voor- en nadelen.

1. Gebruik het window.location-object

De meest eenvoudige manier om de domeinnaam uit een URL in javascript te halen, is door de window.location-object , dat informatie geeft over de huidige URL. De venster.locatie.host property geeft ons de domeinnaam, inclusief het poortnummer als dit aanwezig is. Hier is een voorbeeld:

 Const domain = window.location.host; 

Deze aanpak heeft het voordeel dat deze eenvoudig en betrouwbaar is. Het werkt echter alleen voor de huidige URL, dus als u de domeinnaam uit een andere URL wilt halen, moet u een andere methode gebruiken.

2. Gebruik de URL-constructor

Een andere manier om de domeinnaam uit een URL in javascript te halen, is door de URL-constructor te gebruiken. Het is een ingebouwd JavaScript-object dat een URL-tekenreeks kan parseren en toegang kan bieden tot de verschillende componenten ervan. Hier is een voorbeeld:

substringmethode java
 Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname; 

De URL-constructor heeft het voordeel dat hij de domeinnaam uit elke geldige URL kan halen, en niet alleen uit de huidige. Het is echter alleen beschikbaar in moderne browsers, dus u moet controleren of het wordt ondersteund voordat u het gebruikt.

3. Reguliere expressies gebruiken

Een meer geavanceerde aanpak om de domeinnaam uit een URL in javascript te extraheren, is het gebruik van reguliere expressies. Reguliere expressies zijn een krachtig hulpmiddel voor het matchen van patronen, en we kunnen ze gebruiken om de domeinnaam uit een URL te extraheren. Hier is een voorbeeld:

 Consturl = 'https://www.example.com/path/to/file.html'; Constdomain = url.match(/^(?:https?://)?(?:[^@
]+@)?(?:www.)?([^:/
]+)/im)[1]; 

Dit reguliere expressiepatroon komt overeen met de domeinnaam in een URL en negeert het protocol ( http of https ), gebruikersnaam en wachtwoord, en pad. Het werkt door te zoeken naar de eerste keer dat een reeks tekens voorkomt die geen dubbele punt, schuine streep of nieuwe regel bevat, voorafgegaan door een optioneel protocol, gebruikersnaam en wachtwoord, en optioneel 'www.' voorvoegsel. De match-methode retourneert een array met de volledige match en eventuele vastgelegde groepen, dus we moeten het tweede item (bij index 1) extraheren om de domeinnaam te krijgen.

Deze aanpak heeft het voordeel dat deze flexibel en aanpasbaar is aan verschillende URL-formaten, maar ook complexer en vatbaarder voor fouten als het reguliere expressiepatroon niet nauwkeurig genoeg is.

4. De DOM gebruiken

Ten slotte kunnen we de domeinnaam ook uit een URL in javascript halen door gebruik te maken van de DOM . We kunnen een verborgen ankerelement maken en het instellen href-kenmerk naar de URL waarvan we de domeinnaam willen extraheren en lees vervolgens de eigenschap hostname. Hier is een voorbeeld:

 Consturl = 'https://www.example.com/path/to/file.html'; Const a = document.createelement('a'); A.href = url; Const domain = a.hostname; 

Deze aanpak heeft het voordeel dat deze gemakkelijk te begrijpen en te implementeren is, maar creëert ook een DOM-element , wat enkele gevolgen voor de prestaties kan hebben als u dit herhaaldelijk moet doen.

Conclusie

Er zijn verschillende manieren om de domeinnaam uit een URL in javascript te halen, en de beste aanpak hangt af van uw vereisten en beperkingen. Als u alleen de domeinnaam uit de huidige URL wilt extraheren, gebruikt u de window.location-object is de eenvoudigste en meest betrouwbare methode.