Вот как я обычно проверяю валидность URL YouTube с помощью JavaScript.Он отлично работает, но не работает для URL с «-» перед идентификатором видео, например http://www.youtube.com/watch?v=-pIaQpwYEjY
Любое доступное средство, так как я плохо разбираюсь в регулярных выражениях
var matches = $('#as_url').val().match(/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$/);
if (matches) {
} else {
error +="\nInvalid Youtube Url";
}