使用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]
),它是你捕获括号内的东西。