javascript - 使用javascript从字符串中解析youtube视频id

标签 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.

Trying this function but not working properly

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>');
}

最佳答案

试试这个:

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

<强> REGEX DEMO

关于javascript - 使用javascript从字符串中解析youtube视频id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29788349/

相关文章:

java - 用不在括号内的逗号分隔,跳过括号内的任何内容

c# - 正则表达式提取单引号或双引号外的字符串

javascript - 删除所有出现的单词

javascript - 如何访问元素 ui 输入中用户选择的文本?

javascript - 按 Enter 键创建表格行

javascript - 使用 js 从 div 获取原始 HTML?

javascript - 如何使用node.js、mssql和msnodesqlv8在事务中正确执行循环查询

Python 正则表达式 : Group Backref

javascript - 使用javascript正则表达式获取字符串中的最后一个数字

javascript - 在 Chrome 中创建 MediaStream 对象?