js parse url
by Oliver Kelso
JavaScript
function parseUrl(url){
var parser = document.createElement('a'),
searchObject = {},
queries, split, i;
// Let the browser do the work
parser.href = url;
// Convert query string to object
queries = parser.search.replace(/^\?/, '').split('&');
for( i = 0; i < queries.length; i++ ) {
split = queries[i].split(/=(.+)?/);
searchObject[split[0]] = decodeURIComponent(split[1]);
}
return {
protocol: parser.protocol,
host: parser.host,
hostname: parser.hostname,
port: parser.port,
pathname: parser.pathname,
search: parser.search,
searchObject: searchObject,
hash: parser.hash
};
}
//console.log(parseUrl("http://www.test.com:2020/index.php?test=true&wtf=yes"));
console.log(parseUrl("http://ensighten.ccnag.com/no-content?cg_n=Rewards&cg_s=ItemDetail&z_channel=desktop&z_sessionId=ae125006-b15c-49e1-b75f-6d156f9f1d48&z_items=52554_1;&z_auth=1&z_click=1&tz=-7&bh=17&ul=en-US&cd=24&sr=1920x1080&jo=Yes&ti=Item%20Detail%20-%20%247%2C500%20VISA%C2%AE%20Reward%20Card%20%7C%20My%20Coke%20Rewards&js=Yes&jv=1.5&ct=unknown&bs=1920x378&fv=17.0&slv=Unknown&tv=10.2.1&dl=0&ssl=0&es=www.mycokerewards.com%2Frewards%2F%247%2C500-VISA%25C2%25AE-Reward-Card%2F52554&vt_f_tlh=1428623575&vtvs=1428621894679&vtid=ead2bd07-5bbf-4b4b-bdee-91e5d7a25522&co_f=ead2bd07-5bbf-4b4b-bdee-91e5d7a25522&dcssip=www.mycokerewards.com&dcsuri=%2Frewards%2F%247%2C500-VISA%25C2%25AE-Reward-Card%2F52554&dcsdat=1428624906092&dcsref=http%3A%2F%2Fwww.mycokerewards.com%2Frewards%2Fbronze-T1%3FuserSortSelected%3Dtrue%26sorts%3DMP%26view%3Dflat%26pageNumber&pset=1428624908333"));