REGEX如何在Javascript中获取youtube URL的开始时间

时间:2015-02-22 15:59:55

标签: javascript regex youtube

我有以下我在Javascript中使用的正则表达式:

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

它正确地获取了视频ID。我想扩展它以提取视频的开始时间:

我知道至少有两种格式(如果不是更多):" t ="和"开始="

http://youtu.be/xxxxxxxx?的 T = 30秒

https://www.youtube.com/watch?v=xxxxxxxx&安培;开始= 30

感谢,

2 个答案:

答案 0 :(得分:3)

好像你想要这样的东西,

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

DEMO

答案 1 :(得分:0)

javascript

的方式尝试
   var re = /(t=|start=)(?:\d+)/g;
    var str = 'http://youtu.be/xxxxxxxx?t=30s\n\nhttps://www.youtube.com/watch?v=xxxxxxxx&start=30';
    var m;

    while ((m = re.exec(str)) != null) {
    if (m.index === re.lastIndex) {
    re.lastIndex++;
    }
    // View your result using the m-variable.
    alert(eg m[0])
    }

enter image description here

DEMO