获取 url 中的参数

1. 指定参数名称,返回该参数的值 或者 空字符串 2. 不指定参数名称,返回全部的参数对象 或者 {} 3. 如果存在多个同名参数,则返回数组

function getUrlParam(sUrl, sKey){
    var param = sUrl.split('?')[1].split('#')[0];
    if (sKey) {
        //如果传入了sKey
        var aParam = param.split('&');
        var aRes = [];
        for(var i=0; i<aParam.length; i++){
            if(aParam[i].split('=')[0] == sKey){
                aRes.push(aParam[i].split('=')[1]);
            }
        }
        if (aRes.length == 1) {
            return aRes[0];
        else if(aRes.length == 0){
            return '';
        else {
            return aRes;
        }
    }else{
        //如果未传入sKey
        if(param == undefined || param == ''){
            return {};
        }else {
            var aParam = param.split('&');
            var oRes = {};
            for(var i = 0; i < aParam.length; i ++){
                var temp = aParam[i].split('=');
                oRes[temp[0]] = oRes[temp[0]] || [];
                oRes[temp[0]].push(temp[1]);
            }
            return oRes;
        }
    }
}
posted @ 2017-04-05 14:49  ting23  阅读(339)  评论(0编辑  收藏  举报