javascript - 如何从 URL 字符串中删除一些参数?

标签 javascript angularjs parsing url

我有这个var存储一个字符串,该字符串表示一个充满参数的 URL。我正在使用 AngularJS,我不确定是否有任何有用的模块(或者可能使用纯 JavaScript)来删除不需要的 URL 参数而不必使用正则表达式?

例如我需要删除 &month=05还有&year=2017从:
var url = "at merge ?derivate=21&gear_type__in=13&engine=73&month=05&year=2017"

最佳答案

使用 URLSearchParams API:

var url = "at merge ?derivate=21&gear_type__in=13&engine=73&month=05&year=2017"
var urlParts = url.split('?');
var params = new URLSearchParams(urlParts[1]);
params.delete('month');
params.delete('year')
var newUrl = urlParts[0] + '?' + params.toString()
console.log(newUrl);


使用此 API 的优点是它可以使用正确的 percent encoding. 创建字符串。

如需更多信息,请参阅 MDN Developer Reference - URLSearchParams API.

关于javascript - 如何从 URL 字符串中删除一些参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42700105/

相关文章:

javascript - 通过 overflow hidden 统计隐藏元素的个数

javascript - dojox.mobile.ListItem 中的 Dojo 移动和回调

javascript - 按特定顺序对对象进行排序 - Angular

javascript - jquery 以零开头的数字问题

c# - 如何为 TEX 创建解析器?

javascript - 从特定邮件地址获取最近的电子邮件

javascript - 如何知道 svg 路径上是否有任何 x 或 y 点

php - 用动态内容填充网站的一部分

select - 如何在带有 ng-options 的 select 中使用 ng-class

json - 在 VBScript 中使用动态键解析 JSON 对象的值