Get YouTube Video ID from URL

Get the YouTube Video ID from a given url. Supports watch, embed, and YouTube shortened urls.

by Vanss472

HTML

<div id="output"></div>

JavaScript

var url1 = "http://www.youtube.com/watch?v=4bwdIdVHelg";
var url2 = "http://youtu.be/4bwdIdVHelg";
var url3 = "http://www.youtube.com/embed/4bwdIdVHelg";
var url4 = "http://www.youtub.com/embed/4bwdIdVHelg";

function getYoutubeVideoId(urlString){
    if(urlString.match(/(.youtube.|youtu.be)/i)!==null){
      return urlString.replace(/(^(.)*(embed\/|watch\?v=|youtu.be\/))([0-9a-zA-Z_]*)(.)*/gm, "$4");
    }else{
      return -1;
    }
}

var output = document.getElementById('output');
output.innerHTML += "<div>id1: "+getYoutubeVideoId(url1)+"</div>";
output.innerHTML += "<div>id2: "+getYoutubeVideoId(url2)+"</div>";
output.innerHTML += "<div>id3: "+getYoutubeVideoId(url3)+"</div>";
output.innerHTML += "<div style='color:red;'>id4: "+getYoutubeVideoId(url4)+"</div>";