logo

Cómo obtener el nombre de dominio de la URL en JavaScript

¿Qué es una URL?

A URL es otro nombre para un dirección web . Por ejemplo, una URL basada en palabras es Javatpoint.com. A URL También se puede crear utilizando una dirección IP (ej. 192.168.2.24 ). La mayoría de los consumidores proporcionan la dirección del nombre cuando realizan una búsqueda en línea porque los nombres son más fáciles de recordar que los números.

Uso de los navegadores web URL para solicitar a los servidores web páginas concretas. A continuación se muestra una lista de un Sintaxis de la URL y formato .

Sintaxis

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

Parámetros

Esquema-

Se especifica el tipo de servicio de Internet (en general se utiliza http o https).

Prefijo-

Establece un prefijo de dominio (www es el valor predeterminado para http).

Dominio-

Trata sobre el nombre de dominio en Internet (ej. javatpoint.com ).

Puerto -

Identifica el puerto en el host ( 80 es el valor predeterminado para http).

Camino -

Crea una ruta en el lado del servidor.

Nombre del archivo -

Identifica el nombre de un recurso o documento.

Obtener el nombre de dominio de un URL en javascript Puede ser una tarea útil por varios motivos, como extraer el nombre de dominio con fines de análisis web o de seguridad. En esta respuesta, exploraremos diferentes formas de extraer el nombre de dominio de una URL en JavaScript, junto con sus ventajas y desventajas.

1. Usando el objeto window.location

La forma más sencilla de obtener el nombre de dominio de una URL en javascript es utilizar el objeto ventana.ubicación , que proporciona información sobre la URL actual. El window.location.host La propiedad nos proporciona el nombre de dominio, incluido el número de puerto si está presente. He aquí un ejemplo:

ordenación fusionada
 Const domain = window.location.host; 

Este enfoque tiene la ventaja de ser simple y confiable. Sin embargo, solo funciona para la URL actual, por lo que si necesita extraer el nombre de dominio de una URL diferente, deberá utilizar un método diferente.

2. Usando el constructor de URL

Otra forma de extraer el nombre de dominio de una URL en JavaScript es utilizar el constructor de URL. Es un objeto JavaScript integrado que puede analizar una cadena URL y proporcionar acceso a sus diversos componentes. He aquí un ejemplo:

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

El constructor de URL tiene la ventaja de poder extraer el nombre de dominio de cualquier URL válida, no sólo de la actual. Sin embargo, sólo está disponible en navegadores modernos, por lo que deberás comprobar si es compatible antes de usarlo.

3. Usar expresiones regulares

Un enfoque más avanzado para extraer el nombre de dominio de una URL en JavaScript es utilizar expresiones regulares. Las expresiones regulares son una herramienta poderosa para la coincidencia de patrones y podemos usarlas para extraer el nombre de dominio de una URL. He aquí un ejemplo:

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

Este patrón de expresión regular coincide con el nombre de dominio en una URL, ignorando el protocolo ( http o https ), nombre de usuario y contraseña, y ruta. Funciona buscando la primera aparición de una secuencia de caracteres que no incluya dos puntos, una barra o una nueva línea, precedida por un protocolo opcional, nombre de usuario y contraseña, y opcional 'www.' prefijo. El método de coincidencia devuelve una matriz que contiene la coincidencia completa y cualquier grupo capturado, por lo que necesitamos extraer el segundo elemento (en el índice 1) para obtener el nombre de dominio.

Este enfoque tiene la ventaja de ser flexible y adaptable a diferentes formatos de URL, pero también es más complejo y propenso a errores si el patrón de expresión regular no es lo suficientemente preciso.

4. Usando el DOM

Finalmente, también podemos extraer el nombre de dominio de una URL en javascript usando el DOMINGO . Podemos crear un elemento de anclaje oculto, establecer su atributo href a la URL de la que queremos extraer el nombre de dominio y luego lea la propiedad del nombre de host. He aquí un ejemplo:

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

Este enfoque tiene la ventaja de ser fácil de entender e implementar, pero también crea una elemento DOM , lo que puede tener algunas implicaciones en el rendimiento si necesita hacer esto repetidamente.

Conclusión

Hay diferentes formas de extraer el nombre de dominio de una URL en JavaScript y el mejor enfoque depende de sus requisitos y limitaciones. Si solo necesita extraer el nombre de dominio de la URL actual, utilizando el objeto ventana.ubicación es el método más simple y confiable.