我想创建一个函数来从url中删除特定的查询字符串和它的值。从URL中删除特定的查询字符串
对于如: 如果我有像
VAR URL中的URL = www.foo.com/test?name=kevin &性别=男& ID = 1234
如果我通过名称 - >它应该删除名称的键和值。该URL应该成为
www.foo.com/test?gender=Male & ID = 1234
我有一个函数ReturnRefinedURL(key,url)
和我在功能做这个
function ReturnRefinedURL(key,url)
{
var Value = getParameterByName(key); // This returns kevin
var stringToBeRemoved = 'key +'='+ Value+'&'; // string becomes 'name=kevin&'
return url.replace(stringToBeRemoved, '');
}
//在Google中找到它:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
所以当我调用该方法ReturnRefinedURL('name',window.location.href);
这工作!但寻找一种更优雅,更傻的方法。
*这不会工作,如果名称参数是查询字符串中的第二个。 (以下简称“&”仍将被保留)
非常感谢..不知道我错过了链接。我没有搜索!:( – 2014-10-08 19:15:05
您可以请提供一个解决方案,它可以添加参数的单击事件,也可以删除该事件的参数 即我想添加新的参数或更改现有参数的值,并删除一个单一的现有参数点击 – Hetal1311 2017-08-13 17:38:27
可以更新区分大小写的问题吗? – Yiping 2017-10-26 07:08:49