Skip to content

Instantly share code, notes, and snippets.

@PseudoSky
Created June 8, 2015 07:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PseudoSky/5b368451e138fbb83be5 to your computer and use it in GitHub Desktop.
Save PseudoSky/5b368451e138fbb83be5 to your computer and use it in GitHub Desktop.
Regexes for popular media sites to extract the resources ID. Which can then be used to embed in an iframe or another url format.
function youtube(url){
return url.match(/^.*(youtu.be\/|v\/|embed\/|watch\?|youtube.com\/user\/[^#]*#([^\/]*?\/)*)\??v?=?([^#\&\?]*).*/)[3];
}
function vimeo(url) {
var m = url.match(/^.+vimeo.com\/(.*\/)?([^#\?]*)/);
return m ? m[2] || m[1] : null;
}
console.log(youtube("http://www.youtube.com/v/0zM3nApSvMg?fs=1&hl=en_US&rel=0"));
console.log(youtube("http://www.youtube.com/embed/0zM3nApSvMg?rel=0"));
console.log(youtube("http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index"));
console.log(youtube("http://www.youtube.com/watch?v=0zM3nApSvMg"));
console.log(youtube("http://youtu.be/0zM3nApSvMg"));
console.log(youtube("http://www.youtube.com/watch?v=0zM3nApSvMg#t=0m10s"));
console.log(youtube("http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o"));
console.log(vimeo("http://vimeo.com/54178821"));
console.log(vimeo("http://vimeo.com/channels/nudiecutie/57383513"));
console.log(vimeo("https://vimeo.com/channels/staffpicks/128771883"));
console.log(vimeo("https://vimeo.com/channels/1341"));
console.log(vimeo("https://vimeo.com/channels/1341/129259395"));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment