logo

Kaip gauti domeno pavadinimą iš URL JavaScript

Kas yra URL?

A URL yra kitas a pavadinimas tinklalapio adresas . Pavyzdžiui, žodžiais pagrįstas URL yra Javapoint.com. A URL Taip pat galima sukurti naudojant IP adresą (pvz. 192.168.2.24 ). Daugelis vartotojų, atlikdami paiešką internete, pateikia vardo adresą, nes vardus lengviau atsiminti nei skaičius.

tinklo architektūra

Naudoja žiniatinklio naršyklės URL interneto serverių prašyti konkrečių puslapių. Žemiau yra sąrašas a URL sintaksė ir formatu .

Sintaksė

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

Parametrai

Schema-

Nurodomas interneto paslaugos tipas (bendrai naudojamas http arba https).

priešdėlis-

Jis nustato domeno priešdėlį (www yra numatytasis http).

latekso šrifto dydis

Domenas-

Jame aptariamas domeno vardas internete (pvz. javatpoint.com ).

Uostas -

Jis identifikuoja pagrindinio kompiuterio prievadą ( 80 yra numatytasis http).

Kelias -

Jis sukuria kelią serverio pusėje.

Failo pavadinimas -

Java indeksas

Jis identifikuoja šaltinio arba dokumento pavadinimą.

Domeno vardo gavimas iš a URL in javascript gali būti naudinga užduotis dėl įvairių priežasčių, pvz., išgauti domeno pavadinimą žiniatinklio analizės ar saugumo tikslais. Šiame atsakyme išnagrinėsime įvairius būdus, kaip išgauti domeno pavadinimą iš URL naudojant JavaScript, taip pat jų privalumus ir trūkumus.

1. Naudodami objektą window.location

Paprasčiausias būdas gauti domeno pavadinimą iš URL JavaScript yra naudoti langas.vietos objektas , kuriame pateikiama informacija apie dabartinį URL. The window.location.host nuosavybė suteikia mums domeno pavadinimą, įskaitant prievado numerį, jei jis yra. Štai pavyzdys:

 Const domain = window.location.host; 

Šio metodo pranašumas yra paprastas ir patikimas. Tačiau jis veikia tik dabartiniam URL, todėl, jei reikia išgauti domeno pavadinimą iš kito URL, turėsite naudoti kitą metodą.

2. URL konstruktoriaus naudojimas

Kitas būdas išgauti domeno pavadinimą iš URL JavaScript yra naudoti URL konstruktorių. Tai yra integruotas javascript objektas, galintis išanalizuoti URL eilutę ir suteikti prieigą prie įvairių jos komponentų. Štai pavyzdys:

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

URL konstruktorius turi pranašumą, nes gali išgauti domeno pavadinimą iš bet kurio galiojančio URL, ne tik iš dabartinio. Tačiau ji pasiekiama tik šiuolaikinėse naršyklėse, todėl prieš naudodami turėsite patikrinti, ar ji palaikoma.

3. Reguliariųjų išraiškų naudojimas

Pažangesnis būdas išgauti domeno pavadinimą iš URL JavaScript yra naudoti reguliariąsias išraiškas. Reguliarūs posakiai yra galingas šablonų derinimo įrankis, kurį galime naudoti norėdami išgauti domeno pavadinimą iš URL. Štai pavyzdys:

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

Šis reguliaraus posakio šablonas atitinka URL domeno pavadinimą, nepaisydamas protokolo ( http arba https ), vartotojo vardą ir slaptažodį bei kelią. Jis veikia ieškant pirmojo simbolių sekos, kurioje nėra dvitaškio, pasvirojo brūkšnio ar naujos eilutės, prieš tai pasirenkamas protokolas, vartotojo vardas ir slaptažodis bei pasirenkamas 'www.' priešdėlis. Atitikties metodas grąžina masyvą, kuriame yra visa atitiktis ir visos užfiksuotos grupės, todėl turime išgauti antrąjį elementą (1 indekse), kad gautume domeno pavadinimą.

Šio metodo pranašumas yra tai, kad jis yra lankstus ir pritaikomas skirtingiems URL formatams, tačiau jis taip pat yra sudėtingesnis ir linkęs į klaidas, jei reguliariosios išraiškos šablonas nėra pakankamai tikslus.

4. DOM naudojimas

Galiausiai, mes taip pat galime išgauti domeno pavadinimą iš URL JavaScript naudodami DOM . Galime sukurti paslėptą inkaro elementą, jį nustatyti href atributas į URL, iš kurio norime išgauti domeno pavadinimą, tada perskaitykite pagrindinio kompiuterio pavadinimo ypatybę. Štai pavyzdys:

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

Šio metodo pranašumas yra tai, kad jį lengva suprasti ir įgyvendinti, tačiau jis taip pat sukuria a DOM elementas , o tai gali turėti įtakos našumui, jei tai reikės daryti pakartotinai.

Išvada

Yra įvairių būdų, kaip išgauti domeno pavadinimą iš URL naudojant javascript, o geriausias būdas priklauso nuo jūsų reikalavimų ir apribojimų. Jei domeno pavadinimą reikia išskirti tik iš dabartinio URL, naudokite langas.vietos objektas yra paprasčiausias ir patikimiausias būdas.