Parse:
function getParam() { var param = new Object() var item = new Array(); if (location.search == "") { return param; }; var query = location.search.substring(1); var list = query.split('&'); for(var i = 0; i < list.length; i++) { item = list[i].split('='); if (typeof param[item[0]] == "undefined") { param[item[0]] = new Array(); } param[item[0]].push(item[1]); }; return param; };
Build:
function getUrlByParam(param) { var url = ""; for (field in param) { for (index in param[field]) { url += "&" + field + "=" + param[field][index]; }; }; return url == "" ? url : url.substring(1); };