假设您有一个网址:
http://www.example.com/whatever?this=that&where=when
如何提取where
参数的值(在本例中为when
)?
这就是我想出来的 - 我想知道是否有更好的解决方案:
$.fn.url_param_value = function(param) {
var url = $(this).attr('href');
var regex = new RegExp(param + "=");
return $.grep(url.split("?")[1].split("&"), function(a) {
return a.match(regex);
})[0].split("=")[1];
}
答案 0 :(得分:5)
答案 1 :(得分:1)
如果你没有jQuery,这是我使用的一个函数:
function urlParam(name, w){
w = w || window;
var rx = new RegExp('[\&|\?]'+name+'=([^\&\#]+)');
var val = w.location.href.match(rx);
return !val ? '':val[1];
}
如果你需要阅读iframe参数,w是一个可选参数(默认为窗口)。
答案 2 :(得分:0)
我使用Netlobo.com
中的这段javascriptfunction 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];
}
或者如果您正在寻找插件,请尝试jQuery URL Parser
*编辑:嗯,nm我猜TheVillageIdiot的建议是最好的&最简单的jQuery:P ... YAY,我今天学到了一些东西:)但是你仍然应该检查一下插件,这很好,因为它将返回URL的any part,包括来自字符串的数据。