小编Rya*_*lis的帖子

正则表达式从youtube/vimeo网址中提取域名和视频ID

我正在复制一个函数,它将获取youtube/vimeo url并返回视频来自的网站(vimeo/yt)以及视频ID.

这是我到目前为止所拥有的:http://jsfiddle.net/csjwf/181/

<strong>Result:</strong>
<div id="result"></div>
Run Code Online (Sandbox Code Playgroud)
function parseVideoURL(url) {

    url.match(/^http:\/\/(?:.*?)\.?(youtube|vimeo)\.com\/(watch\?[^#]*v=(\w+)|(\d+)).+$/);
    return {
        provider : RegExp.$1,
        id : RegExp.$1 == 'vimeo' ? RegExp.$2 : RegExp.$3
    }
}

var result = document.getElementById("result");
var video = parseVideoURL("http://www.youtube.com/watch?v=PQLnmdOthmA&feature=feedrec_grec_index");
result.innerHTML = "Provider: " + video.provider + "<br>ID: " + video.id;

var video = parseVideoURL("http://vimeo.com/22080133");

result.innerHTML += "<br>--<br>Provider: " + video.provider + "<br>ID: " + video.id;
Run Code Online (Sandbox Code Playgroud)

输出:

Result:
Provider: youtube
ID: PQLnmdOthmA
--
Provider: vimeo
ID: 2208013

但是,请注意vimeo vids的方式,如果url以ID结尾,则最后一个数字始终被截断.如果在vimeo url的末尾添加斜杠,则会完全拉出id.

javascript regex youtube url vimeo

12
推荐指数
1
解决办法
9366
查看次数

标签 统计

javascript ×1

regex ×1

url ×1

vimeo ×1

youtube ×1