logo

Come ottenere il nome di dominio dall'URL in JavaScript

Cos'è un URL?

UN URL è un altro nome per a indirizzo Web . Ad esempio, un URL basato su parole è Javatpoint.com. UN URL può anche essere creato utilizzando un indirizzo IP (es. 192.168.2.24 ). La maggior parte dei consumatori fornisce l'indirizzo del nome quando effettuano una ricerca online perché i nomi sono più facili da ricordare rispetto ai numeri.

I browser Web utilizzano URL per chiedere ai server web pagine particolari. Di seguito è riportato un elenco di a La sintassi dell'URL E formato .

Sintassi

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

Parametri

Schema-

Viene specificato il tipo di servizio Internet (in generale viene utilizzato http o https).

aes contro des

Prefisso-

Stabilisce un prefisso di dominio (www è il valore predefinito per http).

Dominio-

esempi di DFA

Si discute del nome di dominio su Internet (es. javatpoint.com ).

Porto -

Identifica la porta sull'host ( 80 è l'impostazione predefinita per http).

Sentiero -

Crea un percorso sul lato server.

sottolineare nel ribasso

Nome del file -

Identifica il nome di una risorsa o di un documento.

Ottenere il nome di dominio da a URL In javascript può essere un compito utile per vari motivi, come l'estrazione del nome di dominio per analisi web o scopi di sicurezza. In questa risposta esploreremo diversi modi per estrarre il nome di dominio da un URL in JavaScript, insieme ai loro pro e contro.

1. Utilizzando l'oggetto window.location

Il modo più semplice per ottenere il nome di dominio da un URL in javascript è utilizzare il file oggetto window.location , che fornisce informazioni sull'URL corrente. IL finestra.posizione.host property ci fornisce il nome del dominio, incluso il numero di porta se presente. Ecco un esempio:

 Const domain = window.location.host; 

Questo approccio ha il vantaggio di essere semplice e affidabile. Tuttavia, funziona solo per l'URL corrente, quindi se devi estrarre il nome di dominio da un URL diverso, dovrai utilizzare un metodo diverso.

sottolineatura del ribasso

2. Utilizzando il costruttore dell'URL

Un altro modo per estrarre il nome di dominio da un URL in javascript è utilizzare il costruttore URL. È un oggetto JavaScript integrato in grado di analizzare una stringa URL e fornire l'accesso ai suoi vari componenti. Ecco un esempio:

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

Il costruttore dell'URL ha il vantaggio di poter estrarre il nome di dominio da qualsiasi URL valido, non solo da quello corrente. Tuttavia, è disponibile solo nei browser moderni, quindi dovrai verificare se è supportato prima di utilizzarlo.

3. Utilizzo delle espressioni regolari

Un approccio più avanzato per estrarre il nome di dominio da un URL in JavaScript consiste nell'utilizzare le espressioni regolari. Le espressioni regolari sono un potente strumento per la corrispondenza dei modelli e possiamo usarle per estrarre il nome di dominio da un URL. Ecco un esempio:

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

Questo modello di espressione regolare corrisponde al nome di dominio in un URL, ignorando il protocollo ( http o https ), nome utente, password e percorso. Funziona cercando la prima occorrenza di una sequenza di caratteri che non includa due punti, una barra o un ritorno a capo, preceduta da un protocollo opzionale, nome utente e password e 'Www.' prefisso. Il metodo match restituisce un array contenente l'intera corrispondenza e tutti i gruppi acquisiti, quindi dobbiamo estrarre il secondo elemento (all'indice 1) per ottenere il nome di dominio.

Questo approccio ha il vantaggio di essere flessibile e adattabile a diversi formati URL, ma è anche più complesso e soggetto a errori se il modello dell'espressione regolare non è sufficientemente preciso.

installazione della torcia

4. Utilizzo del DOM

Infine possiamo anche estrarre il nome del dominio da un URL in javascript utilizzando il file DOM . Possiamo creare un elemento di ancoraggio nascosto, impostarlo attributo href all'URL da cui vogliamo estrarre il nome di dominio e quindi leggere la proprietà hostname. Ecco un esempio:

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

Questo approccio ha il vantaggio di essere facile da comprendere e implementare, ma crea anche un Elemento DOM , che potrebbe avere alcune implicazioni sulle prestazioni se è necessario eseguire questa operazione ripetutamente.

Conclusione

Esistono diversi modi per estrarre il nome di dominio da un URL in JavaScript e l'approccio migliore dipende dalle tue esigenze e vincoli. Se devi solo estrarre il nome di dominio dall'URL corrente, utilizzando il file oggetto window.location è il metodo più semplice e affidabile.