javascript - 如何从 url 查询中删除参数?

标签 javascript regex

我正在尝试从 url 查询字符串中删除一些参数。

我有一组要删除的参数:

var queryParamsToRemove = ['destination','formName'];

我试图做的是搜索 url 中的每个参数,并使用 RegExp 将其删除。像这样:

for (param in queryParamsToRemove){
     patt = new RegExp(param,'g');
     queryString = queryString.replace('&' + patt + '=' + /*?=&/g,'');
}

但这行不通,我猜是因为语法问题。

最佳答案

这是我在项目中经常使用的一个函数,它允许您获取关联数组中的所有 GET 参数:

function urlGet()
{   
    var t = location.search.substring(1).split('&');
    var f = new Object();
    for (var i = 0; i < t.length; i++)
    {
        var x = t[i].split('=');
        f[x[0]] = x[1];
    }
    return f;
}

您可以使用此函数获取所有参数,然后使用delete 方法从数组中删除不需要的参数。

var parameters = urlGet();
delete parameters.destination;
delete parameters.formName;

您现在只需构建一个新的查询字符串。

var query = '?';

for (var prop in parameters) 
{
    query += prop + '=' + parameters[prop] + '&';
};

query = query.substr(0, query.length - 1);

现在,将它添加到您的基本 url,您就完成了!

关于javascript - 如何从 url 查询中删除参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22958043/

相关文章:

python - 正则表达式无法匹配 python 中的特殊符号

php - 使用 OR 进行反向引用

JavaScript 值在变量中未正确评估,但作为字符串正常工作

ruby - Ruby正则表达式中\A\z和^$的区别

javascript - 在模型验证中获取 this.id 返回 undefined

javascript - Unity——JavaScript 汽车走错方向

javascript - C3.js:独立于图例高度分配图表高度

javascript - 使用多个 if 语句过滤 json 输出

javascript - 如何向绘图中自动生成的刻度添加新刻度

regex - SED 在文件中替换