Javascript 使用Jquery&;获取youtube视频ID。匹配()
只需要一点推动,因为我的这个几乎可以工作了 我想为jquery提供一个URL,并让它除去视频URL以外的所有内容 这是我的密码:Javascript 使用Jquery&;获取youtube视频ID。匹配(),javascript,jquery,youtube,match,Javascript,Jquery,Youtube,Match,只需要一点推动,因为我的这个几乎可以工作了 我想为jquery提供一个URL,并让它除去视频URL以外的所有内容 这是我的密码: var url = 'http://www.youtube.com/watch?v=bxp8NWvIeSo'; $results = url.match("[\\?&]v=([^&#]*)"); alert($results); }); 我把它作为一个输出- ?v=bxp8NWvIeSo,bxp8NWvIeSo 当我只想 bxp8N
var url = 'http://www.youtube.com/watch?v=bxp8NWvIeSo';
$results = url.match("[\\?&]v=([^&#]*)");
alert($results);
});
我把它作为一个输出-
?v=bxp8NWvIeSo,bxp8NWvIeSo
当我只想
bxp8NWvIeSo首先,删除结果前面的$。。。我想那是个打字错误。 接下来,替换
$results = url.match("[\\?&]v=([^&#]*)");
与
如果匹配成功,match()将返回一个数组。您当前正在获取整个阵列。您需要的是数组的第二个元素(
match()[1]
),它位于捕获括号内。如果不强制使用match,可以使用“split”:
它给了你一个项目列表,一个简单的方法是只获取'='正确答案后的所有内容,除了美元符号在JavaScript变量标识符中是完全可以接受的,并且你实际上根本不需要在正则表达式中使用任何反斜杠。这非常有效。甚至还集成了一个易于使用的函数:)
results = url.match("[\?&]v=([^&#]*)")[1];
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);