JSFiddle - React, Tailwind, and code Playground

by bluey

HTML

<p id="result1"></p>
<p id="result2"></p>
<p id="result3"></p>

JavaScript

function addParam(url, param, value) {
       var a = document.createElement('a'), regex = /[?&]([^=]+)=([^&]*)/g;
       var params = {}, match, str = []; a.href = url; value=value||"";
       while (match = regex.exec(a.search))
           if (param != match[1]) str.push(match[1] + "=" + match[2]);
       str.push(encodeURIComponent(param) + "=" + encodeURIComponent(value));
       a.search = (a.search.substring(0,1) == "?" ? "" : "?") + str.join("&");
       return a.href;
    }


url = "http://www.example.com?foo=bar#hashme";

result1 = document.getElementById("result1");
result1.innerHTML = addParam(url, "ciao", "1");

url = "http://www.example.com#hashme";

result2 = document.getElementById("result2");
result2.innerHTML = addParam(url, "ciao", "1 l'app");

url = "http://www.example.com?foo=bar&pippo=pluto#hashme";

result3 = document.getElementById("result3");
result3.innerHTML = addParam(url, "ciao2");
url = "http://www.example.com?foo=bar&pippo=pluto#hashme";

result3 = document.getElementById("result3");
result3.innerHTML = addParam(result3.innerHTML, "ciao1", "1èéê");