使用Jquery&.match()获取youtubevideoID

我需要一点推动,因为我几乎可以工作。

我想给jquery提供一个URL,并让它除了videourl之外。

这是我的代码:

var url = 'http://www.youtube.com/watch?v=bxp8NWvIeSo'; $results = url.match("[\\?&]v=([^&#]*)"); alert($results); }); 

我将此作为输出 –

?V = bxp8NWvIeSo,bxp8NWvIeSo

当我只想要的时候

bxp8NWvIeSo

如果你没有被迫使用匹配,你可以使用“拆分”:

 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); 

首先,删除结果前面的$ …我认为这是一个错字。 接下来,替换

 $results = url.match("[\\?&]v=([^&#]*)"); 

 results = url.match("[\?&]v=([^&#]*)")[1]; 

如果匹配成功,match()将返回一个数组。 你现在正在获得整个arrays。 你想要的是数组的第二个元素( match()[1] ),它是你捕获括号内的东西。