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,修改后的值); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章