Validar o link de vídeo do Youtube

Com esta função, isYoutubeVideo, será possível validar se o link de um vídeo no Youtube é válido. A função verifica também a versão encurtada, que utiliza o domínio youtu.be além das versão EMBED.

A função foi desenvolvida utilizando javascript com expressão regular e pode ser facilmente convertida para outra linguagem, como PHP por exemplo.

Funciona da seguinte maneira, ao passar uma URL ela retornará o código do vídeo extraído, por exemplo: lb6hG-lajbc. Caso a função não consiga identificar o código do vídeo ela retornará falso.

function isYoutubeVideo(url) {
  var v = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
  return (url.match(v)) ? RegExp.$1 : false;
}

Algumas URLs que a função aceita:

  • Versão tradicional: https://www.youtube.com/watch?v=g5entWrZA7Q
  • Versão tradicional (com playlist): https://www.youtube.com/watch?v=8_ytodHYAlE&list=PLVc5bWuiFQ8FHpWW5Q2Tyh8k9I3kjQ8hW&index=3
  • Versão encurtada: https://youtu.be/lb6hG-lajbc
  • Versão embed: https://www.youtube.com/embed/lb6hG-lajbc

Exemplo de utilização:

var urlvideo = "https://www.youtube.com/embed/lb6hG-lajbc"; //Substitua pela URL do seu vídeo
var codvideo = isYoutubeVideo(urlvideo);

if (!codvideo){
	alert('Vídeo não encontrado.');
}
else{
	alert('Código do vídeo: ' + codvideo);
}

Queremos saber sua opinião