javascript - 如何将定位的正则表达式更改为删除参数的分隔符查询字符串的字符串

标签 javascript jquery regex url

我处理查询字符串并使用其他分隔符或分界符。 现在我有兴趣删除。

我读了问题Delete parameter我使用LukePH的脚本编写。

    function removeParameter(url, parameter)
{
  var urlparts= url.split('?');

  if (urlparts.length>=2)
  {
      var urlBase=urlparts.shift(); //get first part, and remove from array
      var queryString=urlparts.join("?"); //join it back up

      var prefix = encodeURIComponent(parameter)+'=';
      var pars = queryString.split(/[&;]/g);
      for (var i= pars.length; i-->0;)               //reverse iteration as may be destructive
          if (pars[i].lastIndexOf(prefix, 0)!==-1)   //idiom for string.startsWith
              pars.splice(i, 1);
      url = urlBase+'?'+pars.join('&');
  }
  return url;
}

分隔符是:

            Separator


javascript              Mako           

  =                       %24+
  &                       +%23+

在这个脚本中有

var pars = queryString.split(/[&;]/g);

我想更改句子以在分隔符上使用 split +%23+

var pars = queryString.split(/[+%23+;]/g);

这不起作用,因为包含太多值。

如何将定位的正则表达式更改为字符串?

最佳答案

方括号定义一个字符类,就像在一组潜在匹配中一样,因此将两个相同的字符放入一个字符类中是没有意义的。你需要做的是转义你的特殊字符......

var pars = queryString.split(/\+%23\+;/g);

关于javascript - 如何将定位的正则表达式更改为删除参数的分隔符查询字符串的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16266409/

相关文章:

php - 自动转换百分比输入值

python - Python 中的正则表达式 : Separate words from numbers JUST when not in list

javascript - 如何将点击事件分配给 d3js 中的每个 svg 元素

javascript - 隐藏 div,以防一个内部 div 为空 Jquery 或 CSS3

javascript - API.ai 如何在同一个答案中为来自 webhook 的语音和显示文本字段添加不同的实现

javascript - 关于这段代码片段执行顺序的问题

JqueryUi slider 在 iframe 中不起作用

javascript - AJAX 回调中 anchor 标记的奇怪解析

python - 将第一个括号与 Python 匹配

C++11 regex_match 不匹配它必须的