var parseQueryString = function (url) { var reg_url = /^[^\?]+\?([\w\W]+)$/, reg_para = /([^&=]+)=([\w\W]*?)(&|$)/g, //g is very important arr_url = reg_url.exec(url), ret = {}; if (arr_url && arr_url[1]) { var str_para = arr_url[1], result; while ((result = reg_para.exec(str_para)) != null) { ret[result[1]] = result[2]; } } return ret; }
//使用方法: var url = "key0=0&key1=1&key2=&key3=http://www.g.cn?a=1&&b=2"; var obj = parseQueryString(url); console.dir(obj);
/** * description:獲取URL的參數的value *@name:參數名稱 */ function GetUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); //構造一個含有目標參數的正則表達式對象 var r = window.location.search.substr(1).match(reg); //匹配目標參數 if (r != null) return unescape(r[2]); return null; //返回參數值 }
//傳參數之前對中文的url參數進行 window.location = encodeURI(encodeURI("xxx.html?title="+"中文")); //接收參數的地方 decodeURI(GetUrlParam('title'));
技術交流QQ群:15129679