我正在寻找使用JavaScript从用户输入url中提取GET参数。从javascript用户输入url中提取GET参数
例如是在用户输入URL说:
http://www.youtube.com/watch?v=ee925OTFBCA
我能得到v参数
'ee925OTFBCA' 内预先进行了可变
感谢。
我正在寻找使用JavaScript从用户输入url中提取GET参数。从javascript用户输入url中提取GET参数
例如是在用户输入URL说:
http://www.youtube.com/watch?v=ee925OTFBCA
我能得到v参数
'ee925OTFBCA' 内预先进行了可变
感谢。
这应该做的伎俩
// include this somewhere available
var Query = (function(){
var query = {}, pair, search = location.search.substring(1).split("&"), i = search.length;
while (i--) {
pair = search[i].split("=");
query[pair[0]] = decodeURIComponent(pair[1]);
}
return query;
})();
var v= Query["v"]
这一次运行其计算与名称创建一个对象/值对与提供的参数相对应
从here:
function getURLParam(strParamName){
var strReturn = "";
var strHref = window.location.href;
if (strHref.indexOf("?") > -1){
var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
var aQueryString = strQueryString.split("&");
for (var iParam = 0; iParam < aQueryString.length; iParam++){
if (
aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1){
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
return unescape(strReturn);
}
要使用它:
var v = getURLParam('v')
location.search给你的?xxxx部分 - 如果没有location.search,没有questionmarks – mplungjan 2010-05-16 13:16:56
可以使用这样的函数:
function querystring(key) {
var re=new RegExp('(?:\\?|&)'+key+'=(.*?)(?=&|$)','gi');
var r=[], m;
while ((m=re.exec(document.location.search)) != null) r.push(m[1]);
return r;
}
实施例:
var v = querystring('v')[0];
该函数返回与所述查询串中发现的所有值的数组。如果您有一个查询字符串,例如?x=0&v=1&v=2&v=3
,则电话号码querystring('v')
会返回包含三个项目的数组。
window.location.search是我认为使用的文件 document.location现在是document.URL – mplungjan 2010-05-16 13:18:14
这是我简单的片断:
function extractParamValue(url, name) {
var pos = url.indexOf(name+'=')+name.length+1;
var value = url.substring(pos, url.indexOf('&', pos));
return value;
}
带或不带jQuery的? – kennytm 2010-05-16 13:02:55
有这么多的开放性问题,你甚至打扰吗? – vsync 2010-05-16 13:06:54
@KennyTM ..它必须来.. – 2010-05-16 13:07:26