如何使用正则表达式验证 youtube 播放列表 url?
我从其他问题中找到了验证视频的答案..
/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$/
但我无法验证这样的 url :
http://www.youtube.com/watch?list=PL1F9CA2A03CF286C2&v=pFS4zYWxzNA&
或者
http://www.youtube.com/watch?v=pFS4zYWxzNA&list=PL1F9CA2A03CF286C2&
最佳答案
我最终得到了一些相似但不同的东西:
/^.*(youtu.be\/|list=)([^#\&\?]*).*/
针对以下网址工作:
- https://www.youtube.com/watch?v=4jduuQh-Uho&list=PLBOh8f9FoHHjOz0vGrD20WcTtJar-LOrw&index=3
- https://www.youtube.com/playlist?list=PLBOh8f9FoHHjOz0vGrD20WcTtJar-LOrw
给定以下代码:
var regExp = /^.*(youtu.be\/|list=)([^#\&\?]*).*/;
var match = url.match(regExp);
if (match && match[2]){
return match[2];
}
return null;
我的返回是 PLBOh8f9FoHHjOz0vGrD20WcTtJar-LOrw
关于regex - 使用正则表达式验证 Youtube 播放列表 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5288941/