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>" +...