域和視頻ID,我複製功能,將採取一個YouTube/VIMEO URL並返回視頻從什麼網站來(VIMEO/YT),以及視頻ID。正則表達式來提取的YouTube/VIMEO網址
這是我到目前爲止有:http://jsfiddle.net/csjwf/181/
<strong>Result:</strong>
<div id="result"></div>
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;
輸出:
Result: Provider: youtube ID: PQLnmdOthmA -- Provider: vimeo ID: 2208013
但是,請注意如何爲VIMEO西元,如果URL中的ID結束時,最後的號碼總是被切斷。如果您在vimeo網址的末尾添加了斜槓,則會完全拉取該ID。
我會在這裏留下[this](http://gskinner.com/RegExr/)。 – Shea 2012-03-04 06:35:35
@andrewjackson我更喜歡[this](http://regex.larsolavtorvik.com/)之一。 – Petah 2012-03-04 06:40:10
@andrew ..是我以前使用過該工具,並且對於理解正則表達式的人來說是def。 – 2012-03-04 06:43:57