js 修改url中某个指定的参数的值

 
更多

当一个页面上的搜索条件很多而且需要进行联合get查询的时候,我们按照一定的规则将其组织为一个正确的url这是没有问题的,但是当这个联合查询可以无限制的进行下去的话,你该如何组织你的url呢?无限制的在当前的url后面附加你的查询参数吗?很显然这是不科学的。下面分享一个办法可以直接修改当前url中的某个参数的值而不会导致这个url中同一个参数存在多个值的情况。这在一定程度上就将url的长度控制到了最短。既人性化又利于搜索引擎的优化。下面是利用javascript修改url中某个参数的值的具体思路:

/*
* url 目标url(http://www.phpernote.com/)
* 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('http://www.phpernote.com/article.php?class_id=3&id=2','class_id',4);

结果即为:http://www.phpernote.com/article.php?class_id=4&id=2

打赏

本文固定链接: https://www.cxy163.net/archives/4060 | 绝缘体

该日志由 绝缘体.. 于 2013年05月23日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: js 修改url中某个指定的参数的值 | 绝缘体
关键字: , , , ,

js 修改url中某个指定的参数的值:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter