The regular expression will extract the video ID from any YouTube URL and it works with shortened URLs (youtu.be) and embed URLs (youtube.com/embed/) as well.
function extractVideoID(url){ var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; var match = url.match(regExp); if ( match && match[7].length == 11 ){ return match[7]; }else{ alert("Could not extract video ID."); } }
Another alternative that will extract the video ID as well as the playlist ID from YouTube URLS:
var id = url.match("v=([a-zA-Z0-9\_\-]+)&?")[1]; var list = url.match("list=([a-zA-Z0-9\-\_]+)&?"); list = list ? list[1] : "";