Quiero, en mi función init(), verificar si el video es una URL de youtube o un nombre de archivo.
¿Esto parece adecuado o hay algún tipo de caso límite que podría estar perdiendo?
function init(){ playerSource = Document.getElementById('vid').src; if ( playerSource.includes("https://www.youtube") ){ //Call to function that begins setting up YT iFrame API } }¡Gracias por adelantado!
Puede validar la URL de youtube usando la siguiente expresión regular.
regExp = /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/Youtube tiene diferentes formas de URL dependiendo de dónde esté tomando
URL normal
https://www.youtube.com/watch?v=12345678901Compartir URL
https://youtu.be/12345678901Compartir URL con hora de inicio
https://youtu.be/12345678901?t=6URL del navegador móvil
https://m.youtube.com/watch?v=12345678901&list=RD12345678901&start_radio=1URL larga
https://www.youtube.com/watch?v=12345678901&list=RD12345678901&start_radio=1&rv=smKgVuSURL larga con hora de inicio
https://www.youtube.com/watch?v=12345678901&list=RD12345678901&start_radio=1&rv=12345678901&t=38Puede verificar esta validación de URL a continuación https://regex101.com/r/7a1lGH/1