js修改url中某個參數的值

js修改url某個參數值

  • 當一個頁面上的搜索條件很多而且需要進行聯合get查詢時
  • 當這個聯合查詢可以無限制的進行下去

這時你的url會怎樣?無限制的在當前的url後面附加你的查詢參數嗎?

很顯然這是不科學的。

下面分享一個辦法可以直接修改當前url中的某個參數的值而不會導致這個url中同一個參數存在多個值的情況。
這在一定程度上就將url的長度控制到了最短。既人性化又利於搜索引擎的優化。

下面是利用javascript修改url中某個參數的值的具體思路:

/* 
* url 目標url 
* arg 需要替換的參數名稱 
* arg_val 替換後的參數的值 
* return url 參數替換後的url 
*/ 
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(url,要修改參數的key,修改後的值); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章