JavaScript操作querystring的几种方法

1、设置地址栏参数

function setQueryString(key, val) { //传进想设置querystring的key和value
    var search = location.search.substr(1); //获取地址栏 "?"后的内容
    var query = {};
    if (search) {
        search.split('&').forEach((item) => {
            var arr = item.split('=');
            query[arr[0]] = arr[1];
        });
    }
    query[key] = val;
    var queryArr = [];
    for (var p in query) {
        queryArr.push(p + '=' + query[p]);
    }
    history.replaceState(null, null, '?' + queryArr.join('&'));
};

2、获取地址栏参数

function getQueryString(name) { //传进想要获取的querystring的key
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return decodeURIComponent(r[2]);
    return null;
};

 

posted @ 2018-08-29 10:31  Evo1uti0n  阅读(551)  评论(0编辑  收藏  举报