首页 > 解决方案 > 返回查询片段

问题描述

我有一个如下所示的网址:

https://example.com/?category=123&dk=sports&dk=groupcompanyinsider&dk=local&lang=en
  1. 是否可以分别返回每个 dk 参数?(无论是否有 1 个或 5 个 dk 参数)所以我会分别获得运动、groupcompanyinsider、local。

  2. 如果不可能,也许有一种方法可以将它们全部返回到一个字符串中,例如dk=sports&dk=groupcompanyinsiderlocal&dk=local

标签: javascriptregexbrowserdom-events

解决方案


您可以为此使用内置的 javascript 类 URLSearchParams。然后,您可以使用字符串连接和 foreach 将其转换为您想要的字符串。

const url = "https://example.com/?category=123&dk=sports&dk=groupcompanyinsider&dk=local&lang=en";

var params = new URLSearchParams(url);
var result = "";

// concatenate individual values of the 'dk' query parameter
params.getAll('dk').forEach(function (item) {
    result += '&dk=' + item;
});

result = result.substr(1); // remove starting '&' from the result;
console.log(result);

结果应该包含您想要的字符串。


推荐阅读