我正在尝试检查网址是否是有效的YouTube视频网址,并从中获取youtube视频ID,到目前为止我使用的是一个简单的javascript拆分功能以实现此目的,但是由于youtube有多个网址,因此这有一些小的缺点.
我一直在查看其他stackoverflow线程,但是它们只支持1个特定的URL,这不是我需要的.
我需要一些匹配所有这些URL的东西:
http(s)://www.youtu.be/videoID
http(s)://www.youtube.com/watch?v=videoID
(以及脚本自动检测是否包含youtube视频的任何其他短URL)
任何可以由浏览器快速/高效处理的想法都非常感谢!
解决方法:
尝试这个:
var url = "...";
var videoid = url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);
if(videoid != null) {
console.log("video id = ",videoid[1]);
} else {
console.log("The youtube url is not valid.");
}
看正则表达式:
/
(?:https?:\/{2})? // Optional protocol, if have, must be http:// or https://
(?:w{3}\.)? // Optional sub-domain, if have, must be www.
youtu(?:be)? // The domain. Match 'youtu' and optionally 'be'.
\.(?:com|be) // the domain-extension must be .com or .be
(?:\/watch\?v=|\/)([^\s&]+) //match the value of 'v' parameter in querystring from 'watch' directory OR after root directory, any non-space value.
/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。