JSFiddle - React, Tailwind, and code Playground
HTML
<strong>Result:</strong>
<div id="result"></div>
CSS
strong {font-weight:bold}
JavaScript
function parseVideoURL(url) {
var provider = url.match(/http:\/\/(:?www.)?(\w*)/)[2],
id;
if(provider == "youtube") {
id = url.match(/http:\/\/(?:www.)?(\w*).com\/.*v=(\w*)/)[2];
} else if (provider == "vimeo") {
id = url.match(/http:\/\/(?:www.)?(\w*).com\/(\d*)/)[2];
} else {
throw new Error("parseVideoURL() can only handle YouTube and Vimeo URLs ")
}
return {
provider : provider,
id : id
}
}
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/?asdasdjk");
result.innerHTML += "<br>--<br>Provider: " + video.provider + "<br>ID: " + video.id;