js 获取地址的参数,和修改指定的参数

1,778 阅读1分钟

获取地址栏参数

采用正则表达式获取地址栏参数:

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;
}
 
// 调用方法
alert(GetQueryString("参数名1"));


修改指定的地址栏参数

方法

function changeURLArg(url,arg,arg_val){ 
    var pattern=arg+'=([^&]*)'; 
    var replaceText=arg+'='+arg_val; 
    if(url.match(pattern)){ 
        var tmp='/('+ arg+'=)([^&]*)/gi'; 
        tmp=url.replace(eval(tmp),replaceText); 
        return tmp; 
    } else {
        if(url.match('[\?]')){ 
            return url+'&'+replaceText; 
        } else {
            return url+'?'+replaceText; 
        }
    }
    return url+'\n'+arg+'\n'+arg_val; 
}

// 调用方法
changeURLArg("www.baidu.com?id=1&user='Tom'",id,2)
 解析:把这个链接的id换成2

//参数说明
url: 要操作的地址路径
arg: 当前链接要替换的属性名
arg_val:要替换的值