截取url中的参数(支持截取一个或全部)

截取url中的参数(支持以截取一个或全部)

代码:

getParamByUrl: function(url, par) {
    console.log(url);
    var fileUrl = ''; //文件地址
    var listParam = ''; //参数集合
    var listParamObj = {}; //
    var listParamArr = ''; //包含所有参数
    //去掉hash
    url = url.split('#')[0];
    //获取文件地址
    fileUrl = url.split('?')[0];
    listParam = url.split('?');
    if (listParam.length > 1) {
        listParam.shift();
        var listParam2 = listParam.join();
        listParamArr = listParam2.split('&');
        listParamArr.forEach(function(ele) {
            var temp = ele.split('=');
            listParamObj[temp[0]] = temp[1];
        });
    } else {
        console.log('没有参数');
    }
    if (par == 'allparam') {
        //返回全部参数
        return listParamObj;
    } else {
        //返回指定参数
        for (const key in listParamObj) {
            if (key == par) {
                return JSON.parse('{' + '"' + par + '"' + ':' + '"' + listParamObj[par] + '"' + '}');
            } else {
                console.log('没有传入的参数');
            }
        }
    }
},

调用:

alert(JSON.stringify(that.getParamByUrl(url, ‘allparam’)));

其中:url表示被截取的URL地址,第二个参数表示需要获取的参数的key,传入allparam则表示获取全部参数。返回值是json格式。

猜你喜欢

转载自blog.csdn.net/caomage/article/details/81475613
今日推荐