JSFiddle - React, Tailwind, and code Playground

URL Parser

by Snj

HTML

<div id="console-log"></div>

CSS

.console-line {
  font-family: monospace;
  margin: 2px;
}

JavaScript

/* -------------------------------------------------------- */
var consoleLine = "<p class=\"console-line\"></p>";
console = {
  log: function(text) {
    $("#console-log").append($(consoleLine).html('> ' + text));
  }
};
/* -------------------------------------------------------- */
var parser = document.createElement('a'),
    searchObject = {},
    newPathurl = "",
    queries, split, i;
/* -------------------------------------------------------- */
function parseURL(arg) {
    parser.href = arg
    queries = parser.search.replace(/^\?/, '').split('&');
    for (i = 0; i < queries.length; i++) {
        split = queries[i].split('=');
        searchObject[split[0]] = split[1];
    }
}
/* -------------------------------------------------------- */
parseURL("https://www.google.com/torrents.php");
/* -------------------------------------------------------- */
// searchObject.page++; // Increase page by one, e.g infinite scrolling.
for (let [key, value] of Object.entries(searchObject)) {
  newPathurl += (key + '=' + value);
  newPathurl += "&";
}
newPathurl = newPathurl.slice(0, -1);
if (newPathurl.indexOf('undefined')) { newPathurl = newPathurl.replace('=undefined&', '').replace('=undefined', '') }
/* -------------------------------------------------------- */
console.log("<b>protocol: </b>" + parser.protocol)
console.log("<b>host: </b>" + parser.host)
console.log("<b>hostname: </b>" + parser.hostname)
console.log("<b>port: </b>" + parser.port)
console.log("<b>pathname: </b>" + parser.pathname)
console.log("<b>searchObject: </b>" + searchObject)
console.log("<b>...sO Page: </b>" + searchObject.page)
console.log("<b>...sO Action: </b>" + searchObject.action)
console.log("<b>...sO Searchtext: </b>" + searchObject.searchtext)
console.log("<b>...sO Taglist: </b>" + searchObject.taglist)
console.log("<b>search: </b>" + parser.search)
console.log("<b>hash: </b>" + parser.hash)
console.log("<b>href: </b>" + parser.href)
console.log("<b>newPathurl: </b>" +...