使用javascript从字符串解析youtube视频ID

时间:2015-04-22 05:19:38

标签: javascript regex

你好我在这里发现了很多线程,解释了如何从url解析youtube id,但我找不到任何可以从字符串中提取youtube视频id的内容。

我需要一个可以从url

返回youtube视频ID的功能

例如我有字符串

> Hello this is my string and this is my youtube video : http://youtube.com/w=abcdef and this is my blog http://stackoverflow.com etc etc.

它应该返回

> Hello this is my string and this is my youtube video : abcdef and this is my blog http://stackoverflow.com etc etc.
  

尝试此功能但无法正常工作

function linkifyYouTubeURLs(text) {
    var re = /https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|<\/a>))[?=&+%\w.-]*/ig;
    return text.replace(re,
        '<a href="http://www.youtube.com/watch?v=$1">YouTube link: $1</a>');
}

1 个答案:

答案 0 :(得分:0)

试试这个:

var re = /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/i;

<强> REGEX DEMO