logo

Hur man får domännamn från URL i JavaScript

Vad är en URL?

A URL är ett annat namn för en webbadress . Till exempel är en ordbaserad URL Javatpoint.com. A URL kan också skapas med en IP-adress (t.ex. 192.168.2.24 ). De flesta konsumenter anger namnets adress när de gör en onlinesökning eftersom namn är lättare att komma ihåg än siffror.

java-strängen är tom

Webbläsare använder webbadresser att fråga webbservrar om särskilda sidor. Nedan finns en lista över en URL:s syntax och formatera .

Syntax

 Scheme://prefix.domain:port/path/filename 

Parametrar

Schema-

Typen av Internettjänst anges (http eller https används i allmänhet).

Prefix-

Det upprättar ett domänprefix (www är standard för http).

gjutsträng som int java

Domän-

Den diskuterar domännamnet på internet (ex. javatpoint.com ).

hamn -

Den identifierar porten på värden ( 80 är standard för http).

Sökväg -

Det skapar en sökväg på serversidan.

Filnamn -

simkort isatt men ingen tjänst android

Den identifierar en resurs eller dokuments namn.

Få domännamnet från en URL i javascript kan vara en användbar uppgift av olika anledningar, som att extrahera domännamnet för webbanalys eller säkerhetsändamål. I det här svaret kommer vi att utforska olika sätt att extrahera domännamnet från en URL i javascript, tillsammans med deras för- och nackdelar.

1. Använda objektet window.location

Det enklaste sättet att få domännamnet från en URL i javascript är att använda window.location objekt , som ger information om den aktuella webbadressen. De window.location.host egenskapen ger oss domännamnet, inklusive portnumret om det finns. Här är ett exempel:

 Const domain = window.location.host; 

Detta tillvägagångssätt har fördelen att vara enkelt och pålitligt. Det fungerar dock bara för den aktuella webbadressen, så om du behöver extrahera domännamnet från en annan webbadress måste du använda en annan metod.

2. Använda URL-konstruktorn

Ett annat sätt att extrahera domännamnet från en URL i javascript är att använda URL-konstruktorn. Det är ett inbyggt javascript-objekt som kan analysera en URL-sträng och ge tillgång till dess olika komponenter. Här är ett exempel:

array av struktur i c-språk
 Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname; 

URL-konstruktorn har fördelen av att kunna extrahera domännamnet från vilken giltig URL som helst, inte bara den nuvarande. Det är dock bara tillgängligt i moderna webbläsare, så du måste kontrollera om det stöds innan du använder det.

3. Använda reguljära uttryck

En mer avancerad metod för att extrahera domännamnet från en URL i javascript är att använda reguljära uttryck. Reguljära uttryck är ett kraftfullt verktyg för mönstermatchning, och vi kan använda dem för att extrahera domännamnet från en URL. Här är ett exempel:

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

Detta reguljära uttrycksmönster matchar domännamnet i en URL och ignorerar protokollet ( http eller https ), användarnamn och lösenord och sökväg. Det fungerar genom att leta efter den första förekomsten av en teckensekvens som inte innehåller ett kolon, ett snedstreck eller en nyrad, föregås av ett valfritt protokoll, användarnamn och lösenord och valfritt 'www.' prefix. Matchningsmetoden returnerar en array som innehåller hela matchningen och eventuella fångade grupper, så vi måste extrahera det andra objektet (vid index 1) för att få domännamnet.

Det här tillvägagångssättet har fördelen att det är flexibelt och kan anpassas till olika URL-format, men det är också mer komplext och riskerar att göra fel om det reguljära uttrycksmönstret inte är tillräckligt exakt.

4. Använda DOM

Slutligen kan vi också extrahera domännamnet från en URL i javascript genom att använda DOM . Vi kan skapa ett dolt ankarelement, ställa in dess href-attribut till URL:en vi vill extrahera domännamnet från och läs sedan egenskapen hostname. Här är ett exempel:

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

Detta tillvägagångssätt har fördelen att vara lätt att förstå och implementera, men det skapar också en DOM-element , vilket kan ha vissa prestandaimplikationer om du behöver göra detta upprepade gånger.

Slutsats

Det finns olika sätt att extrahera domännamnet från en URL i javascript, och det bästa tillvägagångssättet beror på dina krav och begränsningar. Om du bara behöver extrahera domännamnet från den aktuella URL:en, med hjälp av window.location objekt är den enklaste och mest pålitliga metoden.