0
我想遍历列表项目onload
并检测他们是否拥有YouTube网址并使用来自iframe中网址的视频ID。这是我到目前为止已经完成,但它不工作:如何使用JS验证YouTube网址
$('li').each(function() {
var url = $(this).text();
if (url != undefined || url != '') {
var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/;
var match = url.match(regExp);
if (match && match[2].length == 11) {
// Do anything for being valid
// if need to change the url to embed url then use below line
$(this).find('.videoObject').attr('src', 'https://www.youtube.com/embed/' + match[2] + '?autoplay=0&enablejsapi=1').show();
} else {
// Do anything for not being valid
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
foo
<iframe class="videoObject" src=""></iframe>
</li>
<li>
bar
<iframe class="videoObject" src=""></iframe>
</li>
<li>
foo https://www.youtube.com/watch?v=Vr3ya_uPmxg
<iframe class="videoObject" src=""></iframe>
</li>
</ul>
我用我[一些谷歌(http://stackoverflow.com/questions/2964678/jquery-youtube-url-validation-with-regex) – evolutionxbox
是否有问题与您的代码? –
可能重复[jQuery的YouTube网址验证与正则表达式](http://stackoverflow.com/questions/2964678/jquery-youtube-url-validation-with-regex) – evolutionxbox