logo

Cum să obțineți un nume de domeniu de la URL în JavaScript

Ce este un URL?

A URL este un alt nume pentru a adresa de internet . De exemplu, o adresă URL bazată pe cuvinte este Javatpoint.com. A URL poate fi creat și folosind o adresă IP (ex. 192.168.2.24 ). Majoritatea consumatorilor furnizează adresa numelui atunci când efectuează o căutare online, deoarece numele sunt mai ușor de reținut decât numerele.

Folosesc browsere web URL-uri pentru a cere serverelor web anumite pagini. Mai jos este o listă cu a Sintaxa URL-ului și format .

Sintaxă

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

Parametrii

Sistem-

Este specificat tipul de serviciu de Internet (în general se utilizează http sau https).

Prefix-

Stabilește un prefix de domeniu (www este implicit pentru http).

zăpadă vs gheață

Domeniu-

Se discută despre numele domeniului de pe internet (ex. javatpoint.com ).

Port -

Identifică portul de pe gazdă ( 80 este valoarea implicită pentru http).

Cale -

Acesta creează o cale pe partea serverului.

Nume de fișier -

Identifică numele unei resurse sau al unui document.

Obținerea numelui de domeniu de la a URL în javascript poate fi o sarcină utilă din diverse motive, cum ar fi extragerea numelui de domeniu în scopuri de analiză web sau de securitate. În acest răspuns, vom explora diferite moduri de a extrage numele de domeniu dintr-o adresă URL în javascript, împreună cu avantajele și dezavantajele acestora.

declarație java

1. Folosind obiectul window.location

Cea mai simplă modalitate de a obține numele de domeniu dintr-o adresă URL în javascript este să utilizați fereastra.locație obiect , care oferă informații despre adresa URL curentă. The fereastră.locație.gazdă proprietatea ne oferă numele domeniului, inclusiv numărul portului, dacă este prezent. Iată un exemplu:

subliniați în markdown
 Const domain = window.location.host; 

Această abordare are avantajul de a fi simplă și fiabilă. Cu toate acestea, funcționează numai pentru adresa URL curentă, așa că dacă trebuie să extrageți numele de domeniu dintr-o adresă URL diferită, va trebui să utilizați o altă metodă.

2. Folosind constructorul URL

O altă modalitate de a extrage numele de domeniu dintr-un URL în javascript este să utilizați constructorul URL. Este un obiect javascript încorporat care poate analiza un șir URL și poate oferi acces la diferitele sale componente. Iată un exemplu:

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

Constructorul URL are avantajul de a putea extrage numele de domeniu din orice adresă URL validă, nu doar din cea actuală. Cu toate acestea, este disponibil numai în browserele moderne, așa că va trebui să verificați dacă este acceptat înainte de a-l folosi.

3. Folosirea expresiilor regulate

O abordare mai avansată pentru extragerea numelui de domeniu dintr-o adresă URL în javascript este utilizarea expresiilor regulate. Expresiile regulate sunt un instrument puternic pentru potrivirea modelelor și le putem folosi pentru a extrage numele de domeniu dintr-o adresă URL. Iată un exemplu:

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

Acest model de expresie regulată se potrivește cu numele de domeniu dintr-o adresă URL, ignorând protocolul ( http sau https ), nume de utilizator și parolă și cale. Funcționează prin căutarea primei apariții a unei secvențe de caractere care nu include două puncte, o bară oblică sau o linie nouă, precedată de un protocol opțional, nume de utilizator și parolă și opțional 'www.' prefix. Metoda de potrivire returnează o matrice care conține întreaga potrivire și orice grupuri capturate, așa că trebuie să extragem al doilea element (la indexul 1) pentru a obține numele domeniului.

Această abordare are avantajul de a fi flexibilă și adaptabilă la diferite formate URL, dar este și mai complexă și mai predispusă la erori dacă modelul expresiei regulate nu este suficient de precis.

4. Utilizarea DOM

În cele din urmă, putem extrage și numele de domeniu dintr-o adresă URL în javascript utilizând DOM . Putem crea un element de ancorare ascuns, îl putem stabili atributul href la adresa URL din care dorim să extragem numele de domeniu și apoi citiți proprietatea numelui de gazdă. Iată un exemplu:

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

Această abordare are avantajul de a fi ușor de înțeles și implementat, dar creează și o element DOM , care poate avea unele implicații de performanță dacă trebuie să faceți acest lucru în mod repetat.

Concluzie

Există diferite moduri de a extrage numele de domeniu dintr-o adresă URL în javascript, iar cea mai bună abordare depinde de cerințele și constrângerile dvs. Dacă trebuie doar să extrageți numele domeniului din adresa URL curentă, folosind fereastra.locație obiect este cea mai simplă și mai fiabilă metodă.