Què és un URL?
A URL és un altre nom per a a adreça web . Per exemple, un URL basat en paraules és Javatpoint.com. A URL també es pot crear mitjançant una adreça IP (ex. 192.168.2.24 ). La majoria dels consumidors proporcionen l'adreça del nom quan realitzen una cerca en línia perquè els noms són més fàcils de recordar que els números.
Ús de navegadors web URL per demanar als servidors web pàgines concretes. A continuació es mostra una llista d'a Sintaxi de l'URL i format .
Sintaxi
Scheme://prefix.domain:port/path/filename
Paràmetres
Esquema-
S'especifica el tipus de servei d'Internet (en general s'utilitza http o https).
prefix-
Estableix un prefix de domini (www és el predeterminat per a http).
domini-
Es parla del nom de domini a Internet (ex. javatpoint.com ).
Port -
Identifica el port de l'amfitrió ( 80 és el valor predeterminat per a http).
Camí -
Crea una ruta al costat del servidor.
Nom de l'arxiu -
Identifica el nom d'un recurs o document.
Obtenció del nom de domini d'a URL en javascript pot ser una tasca útil per diferents motius, com ara extreure el nom de domini amb finalitats d'anàlisi web o de seguretat. En aquesta resposta, explorarem diferents maneres d'extreure el nom de domini d'una URL en javascript, juntament amb els seus pros i contres.
1. Utilitzant l'objecte window.location
La manera més senzilla d'obtenir el nom de domini d'una URL en javascript és utilitzar el objecte window.location , que proporciona informació sobre l'URL actual. El window.location.host La propietat ens proporciona el nom de domini, inclòs el número de port si està present. Aquí teniu un exemple:
Const domain = window.location.host;
Aquest enfocament té l'avantatge de ser senzill i fiable. Tanmateix, només funciona per a l'URL actual, de manera que si necessiteu extreure el nom de domini d'una URL diferent, haureu d'utilitzar un mètode diferent.
2. Utilitzant el constructor d'URL
Una altra manera d'extreure el nom de domini d'una URL en javascript és utilitzar el constructor d'URL. És un objecte javascript integrat que pot analitzar una cadena d'URL i proporcionar accés als seus diferents components. Aquí teniu un exemple:
Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname;
El constructor d'URL té l'avantatge de poder extreure el nom de domini de qualsevol URL vàlida, no només de l'actual. Tanmateix, només està disponible als navegadors moderns, de manera que haureu de comprovar si és compatible abans d'utilitzar-lo.
3. Utilitzar expressions regulars
Un enfocament més avançat per extreure el nom de domini d'una URL en javascript és utilitzar expressions regulars. Les expressions regulars són una eina poderosa per a la concordança de patrons i les podem utilitzar per extreure el nom de domini d'una URL. Aquí teniu un exemple:
Consturl = 'https://www.example.com/path/to/file.html'; Constdomain = url.match(/^(?:https?://)?(?:[^@ ]+@)?(?:www.)?([^:/ ]+)/im)[1];
Aquest patró d'expressió regular coincideix amb el nom de domini en un URL, ignorant el protocol ( http o https ), nom d'usuari i contrasenya i ruta. Funciona buscant la primera ocurrència d'una seqüència de caràcters que no inclou dos punts, una barra inclinada o una nova línia, precedida d'un protocol opcional, nom d'usuari i contrasenya, i opcionals. 'www.' prefix. El mètode de concordança retorna una matriu que conté tota la coincidència i qualsevol grup capturat, de manera que hem d'extreure el segon element (a l'índex 1) per obtenir el nom de domini.
Aquest enfocament té l'avantatge de ser flexible i adaptable a diferents formats d'URL, però també és més complex i propens a errors si el patró d'expressió regular no és prou precís.
4. Ús del DOM
Finalment, també podem extreure el nom de domini d'una URL en javascript mitjançant l' DOM . Podem crear un element d'ancoratge ocult, establir-lo atribut href a l'URL del qual volem extreure el nom de domini i després llegiu la propietat del nom d'amfitrió. Aquí teniu un exemple:
Consturl = 'https://www.example.com/path/to/file.html'; Const a = document.createelement('a'); A.href = url; Const domain = a.hostname;
Aquest enfocament té l'avantatge de ser fàcil d'entendre i implementar, però també crea a Element DOM , que pot tenir algunes implicacions de rendiment si ho heu de fer repetidament.
java afegir a la matriu
Conclusió
Hi ha diferents maneres d'extreure el nom de domini d'una URL en javascript, i el millor enfocament depèn dels vostres requisits i limitacions. Si només necessiteu extreure el nom de domini de l'URL actual, feu servir el objecte window.location és el mètode més senzill i fiable.