使用JavaScript解析Vimeo ID?

Tom*_*Tom 15 javascript vimeo

如何从JavaScript中解析Vimeo URL中的ID?

该URL将由用户输入,因此我需要检查他们是否以正确的格式输入了该URL.

我需要ID,以便我可以使用他们的简单API来检索视频数据.

Sea*_*sey 21

由于Vimeo视频的网址http://vimeo.com/由数字ID组成,您可以执行以下操作

var url = "http://www.vimeo.com/7058755";
var regExp = /http:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/;

var match = url.match(regExp);

if (match){
    alert("id: " + match[2]);
}
else{
    alert("not a vimeo url");
}
Run Code Online (Sandbox Code Playgroud)


Mat*_*lda 17

regExp = /^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/
parseUrl = regExp.exec url
return parseUrl[5]
Run Code Online (Sandbox Code Playgroud)

这适用于遵循以下模式的所有有效Vimeo URL:

http://vimeo.com/*

http://vimeo.com/channels/*/*

http://vimeo.com/groups/*/videos/*


Dan*_*den 7

如果要首先检查Vimeo URL:

function getVimeoId( url ) {

  // Look for a string with 'vimeo', then whatever, then a
  // forward slash and a group of digits.
  var match = /vimeo.*\/(\d+)/i.exec( url );

  // If the match isn't null (i.e. it matched)
  if ( match ) {
    // The grouped/matched digits from the regex
    return match[1];
  }
}
Run Code Online (Sandbox Code Playgroud)

例如

getVimeoId('http://vimeo.com/11918221');
Run Code Online (Sandbox Code Playgroud)

回报

11918221
Run Code Online (Sandbox Code Playgroud)