URL參數轉換對象


    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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM