¿Cómo validar URL usando expresiones regulares en JavaScript?

Dada una URL, la tarea es validarla. Aquí vamos a declarar una URL válida o no válida al hacerla coincidir con RegExp usando JavaScript . Vamos a discutir algunos métodos.

Ejemplo 1: este ejemplo valida la URL = ‘https://www.geeksforgeeks.org’ usando Regular Expression .

<!DOCTYPE HTML>
<html>
  
<head>
    <title>
        JavaScript 
      | Regular expression to match a URL.
    </title>
</head>
  
<body style="text-align:center;" id="body">
    <h1 style="color:green;">  
            GeeksForGeeks  
        </h1>
    <p id="GFG_UP" style="font-size: 15px;
                          font-weight: bold;">
    </p>
    <button onclick="gfg_Run()">
        click here
    </button>
    <p id="GFG_DOWN" style="color:green; 
                            font-size: 20px; 
                            font-weight: bold;">
    </p>
    <script>
        var el_up = document.getElementById("GFG_UP");
        var el_down = document.getElementById("GFG_DOWN");
  
        var expression = 
/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
        var regex = new RegExp(expression);
        var url = 'www.geeksforgeeks.org';
        el_up.innerHTML = "URL = '" + url + "'";
  
        function gfg_Run() {
            var res = "";
            if (url.match(regex)) {
                res = "Valid URL";
            } else {
                res = "Invalid URL";
            }
            el_down.innerHTML = res;
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Ejemplo 2: este ejemplo valida la URL = ‘https://www.geeksforgeeksorg’ (lo cual es incorrecto) usando una expresión regular diferente a la anterior.

<!DOCTYPE HTML>
<html>
  
<head>
    <title>
        JavaScript 
      | Regular expression to match a URL.
    </title>
</head>
  
<body style="text-align:center;"
      id="body">
    <h1 style="color:green;">  
            GeeksForGeeks  
        </h1>
    <p id="GFG_UP" style="font-size: 15px; 
                          font-weight: bold;">
    </p>
    <button onclick="gfg_Run()">
        click here
    </button>
    <p id="GFG_DOWN" style="color:green;
                            font-size: 20px; 
                            font-weight: bold;">
    </p>
    <script>
        var el_up = document.getElementById("GFG_UP");
        var el_down = document.getElementById("GFG_DOWN");
  
        var expression = 
/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/gi;
        var regex = new RegExp(expression);
        var url = 'www.geekforgeeksorg';
        el_up.innerHTML = "URL = '" + url + "'";
  
        function gfg_Run() {
            var res = "";
            if (url.match(regex)) {
                res = "Valid URL";
            } else {
                res = "Invalid URL";
            }
            el_down.innerHTML = res;
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar 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 *