javascript - 用于嵌入或不包含播放列表的正则表达式 youtube url

标签 javascript regex

我目前有一个功能可以验证 youtube 网址,并从中获取视频 ID,然后返回一个嵌入网址。这对于像“https://www.youtube.com/watch?v=12345678901”这样的 youtube url 非常有用,但是当 url 有播放列表时,我也需要播放列表才能工作。需要对正则表达式进行哪些更改才能返回播放列表(如果存在)?

示例播放列表网址: https://www.youtube.com/watch?v=12345678901&list=123456789_1234567890123456789-1234

function embedVideo(url) {
  var youtube = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/,
      yt = url.match(yt);

  if (yt) {
    return "//www.youtube.com/embed/" + yt[1];
  }
  return false;
}

最佳答案

也只捕获 &list= 之后的字符。

^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((?:\w|-){11})(?:&list=(\S+))?$

DEMO

关于javascript - 用于嵌入或不包含播放列表的正则表达式 youtube url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28894116/

相关文章:

javascript - 将 JSON 字符串解析为 HTML5 代码的更快方法

regex - 如何在 scala 中用 literal\d 替换所有数字?

Javascript 从字符串中删除所有非数字、字母和空格的字符

c++ - regex:找到数字和字符串交替的模式

javascript - 如何根据内容删除表格列?

javascript - SAPUI5 View 表被切断

php - 使用正则表达式获取方括号的内容,包括嵌套的内容

字符串模式后字符串的正则表达式

javascript - 如何链接多个独立的 JavaScript 函数

javascript - 在 javascript 中以编程方式设置 Content-Type 的 http 请求 header