function parseURL(url) {
var parts = url.split('?');
link = parts.length > 1 ? parts.shift() : '';
gets = parts.join('?').split('&'),
data = {};
for(var index = 0; index < gets.length; index++) {
parts = gets[index].split('=');
assignValue(data, decodeURIComponent(parts.shift()), decodeURIComponent(parts.join('=')));
}
function assignValue(data, key, value) {
var parts = key.replace(/\[(.*?)\]/g, '.$1').split(/\./);
key = parts.shift();
if (parts.length === 0) {
data[key] = value;
} else {
assignValue(key in data ? data[key] : (data[key] = {}), parts.join('.'), value);
}
}
return {
link: link,
data: data
}
}
alert(
JSON.stringify(
parseURL('http://localhost/index.php?page=user&tt=tab&pop=2&sort%5B0%5D%5B0%5D=id&sort%5B0%5D%5B1%5D=down&tn=users&nv%5B0%5D=id&nv%5B1%5D=skype&cp=5'
),
null,
' '
)
);