JSFiddle - React, Tailwind, and code Playground
JavaScript
window.onload = function(){
var url0 = "http://www.google.de?q=jsfiddle&whatever=213";
var url1 = "http://www.google.de?q=jsfiddlewhatever=213";
var url2 = "http://www.google.de?q=jsfiddle&whatever213";
//Hit run for demo
//open Console for output -> FF: Shift + Ctrl + K
console.log("url 0:");
console.log(getParams(url0));
console.log("url 1:");
console.log(getParams(url1));
console.log("url 2:");
console.log(getParams(url2));
//window.location.href to get url of current document... :)
};
function getParams(url){
var paramsStart = url.indexOf('?');
var params = null;
//no params available
if(paramsStart != -1){
var paramsString = url.substring(url.indexOf('?') + 1, url.length);
//only '?' available
if(paramsString != ""){
var paramsPairs = paramsString.split('&');
//preparing
params = {};
var empty = true;
var index = 0;
var key = "";
var val = "";
for(i = 0, len = paramsPairs.length; i < len; i++){
index = paramsPairs[i].indexOf('=');
//if assignment symbol found
if(index != -1){
key = paramsPairs[i].substring(0, index);
val = paramsPairs[i].substring(index + 1, paramsPairs[i].length);
if(key != "" && val != ""){
//extend here for decoding, integer parsing, whatever...
params[key] = val;
if(empty){
empty = false;
}
}
}
}
if(empty){
params = null;
}
}
}
...