【问题标题】:YouTube url id Regex [duplicate]YouTube url id 正则表达式 [重复]
【发布时间】:2011-12-05 16:10:37
【问题描述】:

可能重复:
Regex to parse youtube yid

您可能不会想到另一个,但这里我有一个 jquery 正则表达式,我发现它在大多数 url 上都可以正常工作,并在底部添加一个示例:

http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index
http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o
http://www.youtube.com/v/0zM3nApSvMg?fs=1&hl=en_US&rel=0
http://www.youtube.com/watch?v=0zM3nApSvMg#t=0m10s
http://www.youtube.com/embed/0zM3nApSvMg?rel=0
http://www.youtube.com/watch?v=0zM3nApSvMg
http://youtu.be/0zM3nApSvMg

正则表达式

/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/

但这不能从下面的 url 中提取 id(在本例中,id 是 pa14VNsdSYM

http://www.youtube.com/watch?feature=endscreen&NR=1&v=pa14VNsdSYM

如何使用正则表达式从上面的网址中提取 id。

【问题讨论】:

  • 您是否尝试过使用我链接到的问题中所写的正则表达式?
  • Mark 提供的链接中的正则表达式不允许在 ID 中使用 _,这就是为什么它不适用于给定视频的原因。我对他的回答发表了评论。
  • 另见my answer 另一个非常相似的问题。

标签: javascript jquery regex url youtube


【解决方案1】:

youtube url id 始终包含 11 个字符的数字下划线和/或破折号。这是我使用过的正则表达式,但没有遇到问题:

var re = /[a-zA-Z0-9\-\_]{11}/;
var youtubeurl = "http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index";
alert(youtubeurl.match(re));

编辑:这个解决方案实际上不能 100% 工作,第一个和第二个 url 会有问题,因为正则表达式匹配不是 vid id 的文本。

Edit2:试试这个:

var re = /(\?v=|\/\d\/|\/embed\/|\/v\/|\.be\/)([a-zA-Z0-9\-\_]+)/;
var urlArr = [
    "http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index",
    "http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o",
    "http://www.youtube.com/v/0zM3nApSvMg?fs=1&hl=en_US&rel=0",
    "http://www.youtube.com/watch?v=0zM3nApSvMg#t=0m10s",
    "http://www.youtube.com/embed/0zM3nApSvMg?rel=0",
    "http://www.youtube.com/watch?v=0zM3nApSvMg",
    "http://youtu.be/0zM3nApSvMg"                  
];
for (var i = 0; i < urlArr.length; i++) {
    alert(urlArr[i].match(re)[2]);
}

http://jsfiddle.net/HfqmE/1/

【讨论】:

    猜你喜欢
    • 2011-10-17
    • 2012-07-11
    • 1970-01-01
    • 2012-05-11
    • 2012-10-08
    • 2013-10-23
    • 1970-01-01
    • 2013-01-19
    相关资源
    最近更新 更多