¿Cómo verificar si una string dada es una URL absoluta o no en JavaScript?

En este artículo, aprenderemos cómo devolver verdadero si la string dada es una URL absoluta en JavaScript. Hay dos tipos de URL relativas o absolutas.

URL absoluta: Es una URL que contiene toda la información importante para localizar los recursos. Lo que se incluye en la URL absoluta es el protocolo (HTTPS) en el dominio del sitio en el punto de inicio de la URL.

URL relativa: es una URL corta que contiene el nombre del dominio y las cosas exactas a las que solo se permite acceder en el mismo servidor o página. 

Sintaxis:

/* Absolute Url */
https://www.geeksforgeeks.org/

/* Relative Url */
geeksforgeeks.org

La tarea es crear una función de JavaScript que tome un argumento como una URL y devuelva verdadero si la URL es un enlace absoluto y, de lo contrario, devolverá falso.

Método: la URL absoluta tiene un protocolo (HTTPS) incluido en el inicio. Simplemente podemos comprobar si la URL tiene https:// delante o no. Si se encuentra, devolvemos verdadero, de lo contrario, falso. 

Para verificar el protocolo, usamos regex (expresión regular). 

Sintaxis:

^https:\/\/

Dónde,

  • ^: Se utiliza para seleccionar desde el inicio.
  • https: Se utiliza para seleccionar el texto.
  • \: Se utiliza para que un carácter especial de expresión regular coincida con el carácter frontal.

Ejemplo: El siguiente ejemplo explica el uso del enfoque anterior.

HTML

<!DOCTYPE html>
<html lang="en">
  
<body>
    <h1 style="color: green;">GeeksforGeeks</h1>
    <form action="#">
        <label for="#">Please input the url</label>
        <input type="text" id="url">
        <input type="button" onclick="absolute_url()" value="Click">
        <h2 id="result"></h2>
    </form>
  
    <script>
        function absolute_url() {
            let urls = document.getElementById('url').value;
            let result = document.getElementById('result');
  
            // Regex pattern for checking
            var pattern = /^https:\/\//i;
  
            // Check if pattern is there in the string 
            // or not with .test() method
            if (pattern.test(urls)) {
                result.innerText = "true";
            }
            else {
                result.innerText = "false";
            }
        }
    </script>
</body>
  
</html>

Producción:

Para URL no absolutas:

Para URL absolutas:

Publicación traducida automáticamente

Artículo escrito por shiv_ka_ansh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *