Js读取url中的参数、修改url的参数

1、读取url的某个参数值:

/*
*获取URL参数
*/
function GetQueryString(name)
{
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    }
    return null;
};

调用方法:var nameVal=GetQueryString("URL上的参数名");

例如url为:http://www.aazj.cn/pc/meeting/card.html?skinColor=30&gid=-1&userId=566&modid=1133&puid=9

那么

var userIdVal=GetQueryString("userId")   //值就等于566

2、修改url的某个参数值:

//替换指定传入参数的值,paramName为参数,replaceWith为新值
function replaceParamVal(paramName,replaceWith) {
    var oUrl = this.location.href.toString();
    var re=eval('/('+ paramName+'=)([^&]*)/gi');
    var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
    this.location = nUrl;
  window.location.href=nUrl
}

例如url为:http://www.aazj.cn/pc/meeting/card.html?skinColor=30&gid=-1&userId=566&modid=1133&puid=9

如果希望修改userId的值为333,那么调用方法:replaceParamVal("userId","333")

URL就会变成:http://www.aazj.cn/pc/meeting/card.html?skinColor=30&gid=-1&userId=333&modid=1133&puid=9

然后自动跳转到新的url。

原文地址:https://www.cnblogs.com/wangyongx/p/9778921.html