可能重复:
how to get GET and POST variables with JQuery?
Get query string values in JavaScript
假设我的网站有网址http://www.akbrowser.tk/ds/?q=http://www.chess.com&r=http://www.blackle.com
(两个参数是URL)
我现在想在网站上获得两个javascript变量,其中包含两个网址的值。 (所以第一个变量是chess.com,第二个变量是blackle.com [当然它会有http和所有,但我只能发布一个超链接])
我该怎么做?
我在这个网站上看到了一些其他类似的问题,海报提供了一个我不理解的长解决方案(我认为它与查找'='并将其后的所有内容都包含在内)但在这种情况下它会将“http:// www.chess.com& r = http://www.blackle.com [没有空格]”作为变量之一。
我还看到了另一篇包含多个参数的帖子,比如我的,但是海报提供了一个很长的解决方案,所以由于我不理解它,我无法真正做到我想做的事。
是的,有人可以帮助我吗?答案 0 :(得分:0)
试试这个功能:
function getQueryParam(href, paramName) {
var query = href.substring(href.indexOf('?')+1);
var params = query.split('&');
for(var i = 0; i < params.length; i++) {
var param = params[i].split('=');
if(param.length > 1) {
if(param[0] == paramName) {
return param[1];
}
}
}
return null;
}
console.log(getQueryParam('http://www.akbrowser.tk/ds/?q=http://www.chess.com&r=http://www.blackle.com', 'r'));
答案 1 :(得分:-1)
function gup(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return "";
else
return results[1];
}
var qString = gup("q");
var rString = gup("r");
这是做正则表达式来查找传递给函数的任何[名称]。