Parse query strings from a url as associative array
JavaScript
var getUrlParameters = function(url) {
var queryParams = {};
var query = url.substr(url.indexOf('?')+1);
var hash = query.indexOf('#');
if (hash != -1) {
queryParams['#'] = query.substr(hash+1);
query = query.substr(0, hash);
}
var keyValues = query.split('&');
for (var i = 0 ; i < keyValues.length; i++) {
var delimiter = keyValues[i].indexOf('=');
if (delimiter == -1) {
delimiter = keyValues[i].length;
}
var key = keyValues[i].substr(0, delimiter);
var value = keyValues[i].substr(delimiter+1);
queryParams[key] = value;
}
return queryParams;
};
var url = "http://google.com/?p=100&q=apple#test";
var params = getUrlParameters(url);
document.write('url = '+url+'<br/>');
document.write('p = '+params['p']+'<br/>');
document.write('q = '+params['q']+'<br/>');
document.write('hash = ' +params['#'] + '<br/>');