JSFiddle - React, Tailwind, and code Playground

by Jorgelig

HTML

<strong>Result:</strong>

<div id="result"></div>

CSS

strong {
    font-weight:bold
}

JavaScript

function parseVideoURL(url) {

    function getParm(url, base) {
        var re = new RegExp("(\\?|&)" + base + "\\=([^&]*)(&|$)");
        var matches = url.match(re);
        if (matches) {
            return (matches[2]);
        } else {
            return ("");
        }
    }

    var retVal = {};
    var matches;

    if (matches = url.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/)) {
        retVal.provider = "youtube";
        if (matches && matches[2].length == 11) {
            retVal.id = matches[2];
        } else {
            retVal.id = 'error';
        }
        //retVal.id = getParm(url, "v");
    } else if (matches = url.match(/vimeo.com\/(\d+)/)) {
        retVal.provider = "vimeo";
        retVal.id = matches[1];
    }
    return (retVal);
}


var result = document.getElementById("result");
var video = parseVideoURL("http://youtu.be/1toaKNgFDck");
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;