【问题标题】:Strip URL to get YouTube ID剥离 URL 以获取 YouTube ID
【发布时间】:2011-10-17 08:42:44
【问题描述】:

我有:

var post = $('.post');
post.find('.video embed').each(function(){
    v = $(this);
    youtubeID = v.attr('src').replace(/^.*youtube.com.*(?:\/|v=)(\w+)\//g,"");
    console.log(youtubeID);
})

这是一个来自嵌入源代码的示例 URL

http://www.youtube.com/v/_eeZnLX_XBM&rel=0&egm=0&showinfo=0&fs=1

它会删除直到 /v/ 的所有内容,但不会删除 & 号和之后的所有内容。

我只想要_eeZnLX_XBM

【问题讨论】:

    标签: javascript jquery regex replace youtube


    【解决方案1】:

    尝试:

    youtubeID = v.attr('src').match(/youtube\.com.*?v[\/=](\w+)/)[1];
    

    【讨论】:

      【解决方案2】:

      所以只需为其余部分添加另一个替换:

      var post = $('.post');
      post.find('.video embed').each(function(){
          v = $(this);
          youtubeID = v.attr('src').replace(/^.*youtube.com.*(?:\/|v=)(\w+)\//g,"").replace(/&.*/g, "");
          console.log(youtubeID);
      })
      

      【讨论】:

        【解决方案3】:
        var url = v.attr('src');
        youtubeID = url.substring(url.lastIndexOf('/') + 1 ,url.indexOf('&'));
        

        【讨论】:

          【解决方案4】:

          试试这个:

          $('.post').find('.video embed').each(function(){
              youtubeID = $(this).attr('src').match(/\/([^&/]+)&/)[1];
          
              console.log(youtubeID);
          })
          

          visualization of the regex

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-01-22
            • 1970-01-01
            • 2012-06-29
            • 1970-01-01
            • 1970-01-01
            • 2019-02-14
            • 2019-02-20
            相关资源
            最近更新 更多