从URL参数提取Youtube视频id



例如,如果youtube视频是http://www.youtube.com/watch?v=6hTPDG0fGCU,我的网站是http://mysite.com?youtubeurl=http://www.youtube.com/watch?v=6hTPDG0fGCU,那么在这种情况下,将6hTPDG0fGCU设置为var youtubevideoid我有一个工作ATM,但只用于替换iframe src.

<script type="text/javascript" >
$(document).ready(main);
function main()
{
 $('iframe').attr('src', getIframeUrl() );
 registerEvents();
 resizeIframe();
}
function getIframeUrl()
{
 var url = window.location.href;
 var iframe_url = 'http://lowkeyunofficial.blogspot.com/';
 var param_start = url.indexOf("iframe=");
 if( param_start != -1 )
  iframe_url = url.substr(param_start+7,url.length-param_start-7);
 if( iframe_url.indexOf("http://") == -1)
  iframe_url = "http://" + iframe_url ;
 return iframe_url;
}
</script>

我建议使用正则表达式:

var url = "http://www.youtube.com/watch?v=26PAgklYYvo&ob=av3e";
var video_id = url.match(/v=(.{11})/)[1]

总是可以使用正则表达式来表示这样的东西,就像一个例子:

var url = "http://mysite.com?youtubeurl=http://www.youtube.com/watch?v=6hTPDG0fGCU",
     id = url.match(/?v=([^&]*)/)[1];

注:对不起@Alex,由于某些原因,答案通知没有弹出。如果id确实总是11个字符长,则该正则表达式更好。

最新更新