JavaScript 操作 URL 参数

时间:2020-04-17 标签: JavaScript

获取指定参数

function getUrlParam(param)
{
    var sPageURL = window.location.search.substring(1),
        sURLVariables = sPageURL.split('&'),
        sParamName,
        i;
    for (i = 0; i < sURLVariables.length; i++) {
        sParamName = sURLVariables[i].split('=');
        if (sParamName[0] === param) {
            return sParamName[1] === undefined ? true : decodeURIComponent(sParamName[1]);
        }
    }
};

返回指定参数的 value 值。若参数不存在,返回 undefined。

移除指定参数

function removeUrlParam(param)
{
    var url = window.location.href.split('?')[0]+'?';
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;    
    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] != param) {
            url = url + sParameterName[0] + '=' + sParameterName[1] + '&'
        }
    }
    return url.substring(0, url.length - 1);
}

返回移除指定参数后的 URL。

设置参数

function setUrlParam(param, value)
{
    var url = getUrlParam(param) != undefined ? removeUrlParam(param) : window.location.href;
    var reg = /\?/;
    reg.test(url) ? url += '&'+param+'='+value : url += '?'+param+'='+value;
    return url;
}

返回设置参数后的 URL。若 URL 中指定参数不存在,添加该参数;存在,更新该参数值。

注意:该方法依赖于上述 getUrlParamremoveUrlParam 方法。

© 2020 Lh1010 - 豫ICP备16115435号-1