【问题标题】:JavaScript function for retrieving multiple querystring values用于检索多个查询字符串值的 JavaScript 函数
【发布时间】:2025-12-04 02:15:02
【问题描述】:

此功能仅适用于参数。

function getQueryStringValue(key) {
   debugger;
   return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
};

我需要一个可以检索多个查询字符串参数的 JavaScript 函数,我需要将参数的名称作为键传递给函数。谢谢

Alex分享的链接中的功能如下

函数getParameterByName(名称,网址){ 如果(!网址){ url = window.location.href; } name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^]*)|&|#|$)"), 结果 = regex.exec(url); 如果(!结果)返回空值; if (!results[2]) return ''; 返回 decodeURIComponent(results[2].replace(/\+/g, " ")); };

我的网址是这样的:

var url='search-results.html?param1=unth?param2=lagos';

然后我将它传递给函数:

var param1 = getParameterByName('param1'); var param2 = getParameterByName('param2');

它返回 param1 为:luth?param2=lagos 而不是 luth。

这与我共享的功能相同。 我的问题是一个 JavaScript 函数,它检索多个查询字符串参数,但该函数仅适用于一个参数

【问题讨论】:

标签: javascript html querystringparameter


【解决方案1】:

您的网址应为: var url= 'search-results.html?param1=unth&param2=lagos';

在这种情况下,功能将起作用。

var param1 = getParameterByName('param1'); //return unth

var param2 = getParameterByName('param2'); //return lagos

【讨论】:

  • 非常感谢搜新。你说的对。修改后正在运行。