此功能仅适用于参数。
function getQueryStringValue(key) {
debugger;
return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
};
我需要一个可以检索多个查询字符串参数的JavaScript函数,我需要将参数名称作为该函数的键传递。谢谢
Alex共享链接中的功能如下所示
function getParameterByName(name, url) { if (!url) { url = window.location.href; } name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; 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函数,它检索多个查询字符串参数,但该函数仅适用于一个参数
答案 0 :(得分:0)
您的网址应为:
var url= 'search-results.html?param1=unth¶m2=lagos';
在这种情况下,功能将起作用。
var param1 = getParameterByName('param1'); //return unth
var param2 = getParameterByName('param2'); //return lagos