¿Cómo unir todos los segmentos de URL dados en jQuery?

En este artículo, veremos cómo unir todos los segmentos de URL dados usando JavaScript. URL (Localizador uniforme de direcciones) consta de varios segmentos, y estos segmentos se enumeran a continuación:

  • Esquema: define el protocolo que se utilizará para acceder a Internet.
  • Nombre de dominio: define el nombre de host que contiene el recurso.
  • Ruta del archivo: define el recurso específico en el host al que desea acceder.
  • Parámetros: se utiliza para proporcionar una string de información que se utilizará.

En JavaScript, podemos usar expresiones regulares para identificar qué parte de la URL se nos proporciona y, en consecuencia, podemos unir todos los segmentos. Veamos un ejemplo para comprender cómo podemos unir todos los segmentos de URL dados.

Ejemplo:

HTML

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0" />
 
    <script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
    </script>
</head>
 
<body style="text-align:center">
     
<p>URL Joiner</p>
 
 
     
<p>Enter the domain name</p>
 
    <input type="text" name="domain" id="domain"><br>
 
     
<p>Enter the path name</p>
 
    <input type="text" name="path" id="path"><br>
 
     
<p>Enter parameter 1 name</p>
 
    <input type="text" name="parameter1" id="parameter1"><br>
 
     
<p>Enter parameter 2 name</p>
 
    <input type="text" name="parameter2" id="parameter2"><br>
    <button id="b1" onclick="urljoin()">Join URL</button>
    <div id="display"></div>
 
    <script>
         
        // Function to join segments of URL
        function urljoin() {
            var domain = ($("#domain").val());
            var path = ($("#path").val());
            var parameter1 = ($("#parameter1").val());
            var parameter2 = ($("#parameter2").val());
 
            var res = [domain, path, parameter1, parameter2];
 
            // Joining each part of domains and appending
            // / after the end of each part
            res.join('/');
 
            var init = "";
            for (var i = 0; i < res.length; i++) {
                init += res[i];
            }
            var temp1 = init.replace(/[\/]+/g, '/')
 
            // Regex for matching domain
            var temp2 = temp1.replace(/^(.+):\//, '$1://')
            var temp3 = temp2.replace(/^f:/, 'f:/')
            var temp4 = temp3.replace(/\/(\?|&|#[^!])/g, '$1')
 
            // Regex for joining different search parameters
            var temp5 = temp4.replace(/\?/g, '&')
            var finalres = temp5.replace('&', '?');
 
            $("#display").html(
                "Joined URL is as follows:-" + finalres);
        }
    </script>
</body>
 
</html>

Producción:

Publicación traducida automáticamente

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