因为我几乎需要一点工作,所以需要一点推力。
我想为jquery提供一个URL,并让它除了视频网址之外。
这是我的代码:
var url = 'http://www.youtube.com/watch?v=bxp8NWvIeSo';
$results = url.match("[\\?&]v=([^&#]*)");
alert($results);
});
我将此作为输出 -
?V = bxp8NWvIeSo,bxp8NWvIeSo
当我只想要
时bxp8NWvIeSo
答案 0 :(得分:6)
如果你没有被迫使用匹配,你可以使用“分裂”:
var getList = function(url, gkey){
var returned = null;
if (url.indexOf("?") != -1){
var list = url.split("?")[1].split("&"),
gets = [];
for (var ind in list){
var kv = list[ind].split("=");
if (kv.length>0)
gets[kv[0]] = kv[1];
}
returned = gets;
if (typeof gkey != "undefined")
if (typeof gets[gkey] != "undefined")
returned = gets[gkey];
}
return returned;
};
var url = 'http://www.youtube.com/watch?v=bxp8NWvIeSo';
$result = getList(url, "v");
alert($result);
答案 1 :(得分:2)
首先,删除结果前面的$ ...我认为这是一个错字。 接下来,替换
$results = url.match("[\\?&]v=([^&#]*)");
与
results = url.match("[\?&]v=([^&#]*)")[1];
如果匹配成功, match()将返回一个数组。你现在正在获得整个阵列。你想要的是数组的第二个元素(match()[1]
),这是你捕获括号内的内容。