Skip to content

Instantly share code, notes, and snippets.

@deunlee
Last active October 20, 2022 12:56
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save deunlee/0b45cfacb7e8f788e5bbfa2911f54d3e to your computer and use it in GitHub Desktop.
Save deunlee/0b45cfacb7e8f788e5bbfa2911f54d3e to your computer and use it in GitHub Desktop.
Get YouTube Video ID by URL (+ URL examples)
function getYouTubeVideoIdByUrl(url) {
const reg = /^(https?:)?(\/\/)?((www\.|m\.)?youtube(-nocookie)?\.com\/((watch)?\?(feature=\w*&)?vi?=|embed\/|vi?\/|e\/)|youtu.be\/)([\w\-]{10,20})/i
const match = url.match(reg);
if (match) {
return match[9];
} else {
return null;
}
}
// URL by https://gist.github.com/rodrigoborgesdeoliveira/987683cfbfcc8d800192da1e73adc486
const testUrls = `
www.youtube.com/watch?v=dQw4w9WgXcQ
//www.youtube.com/watch?v=dQw4w9WgXcQ
http://www.youtube.com/watch?v=dQw4w9WgXcQ
https://www.youtube.com/watch?v=dQw4w9WgXcQ
https://www.youtube.com/watch?v=dQw4w9WgXcQ#t=0m10s
https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=channel
https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtu.be
https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player
https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=em-uploademail
https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=feedrec_grec_index
https://www.youtube.com/watch?v=dQw4w9WgXcQ&playnext_from=TL&videos=osPknwzXEas&feature=sub
https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=PLGup6kBfcU7Le5laEaCLgTKtlDcxMqGxZ&index=106&shuffle=2655
https://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
https://www.youtube.com/?v=dQw4w9WgXcQ
https://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ
https://www.youtube.com/embed/dQw4w9WgXcQ
https://www.youtube.com/embed/dQw4w9WgXcQ?rel=0
https://www.youtube.com/v/dQw4w9WgXcQ
https://www.youtube.com/v/dQw4w9WgXcQ?version=3&autohide=1
https://www.youtube.com/v/dQw4w9WgXcQ?fs=1&hl=en_US&rel=0
https://www.youtube.com/v/dQw4w9WgXcQ?fs=1&hl=en_US&rel=0
https://www.youtube.com/e/dQw4w9WgXcQ
https://m.youtube.com/watch?v=dQw4w9WgXcQ
https://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player
https://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player
https://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player
https://youtube.com/?v=dQw4w9WgXcQ&feature=youtube_gdata_player
https://youtube.com/?vi=dQw4w9WgXcQ&feature=youtube_gdata_player
https://youtube.com/vi/dQw4w9WgXcQ?feature=youtube_gdata_player
https://www.youtube-nocookie.com/v/dQw4w9WgXcQ?version=3&hl=en_US&rel=0
https://www.youtube-nocookie.com/embed/up_lNV-yoK4?rel=0
https://youtube.com/watch?v=dQw4w9WgXcQ&feature=channel
https://youtube.com/watch?vi=dQw4w9WgXcQ&feature=channel
https://youtube.com/?v=dQw4w9WgXcQ&feature=channel
https://youtube.com/?vi=dQw4w9WgXcQ&feature=channel
https://youtube.com/?feature=channel&v=dQw4w9WgXcQ
https://youtube.com/vi/dQw4w9WgXcQ&feature=channel
https://youtu.be/dQw4w9WgXcQ
https://youtu.be/dQw4w9WgXcQ?t=10
https://youtu.be/dQw4w9WgXcQ&feature=channel
https://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player
https://youtu.be/dQw4w9WgXcQ?list=PLToa5JuFMsXTNkrLJbRlB--76IAOjRM9b
https://www.youtube.com/watch?v=QH2-TGUlwu4
https://www.youtube.com/watch?v=761ae_KDg_Q
`
function test() {
const urls = testUrls.split('\n').map(e => e.trim()).filter(e => e);
for (const url of urls) {
console.log(`${url} ===> ${getYouTubeVideoIdByUrl(url)}`);
}
}
test();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment