JSFiddle - React, Tailwind, and code Playground

HTML

youtube url:<br />
<textarea id="youtube_url" type="text" style="width:400px;">https://www.youtube.com/watch?v=31JAXPRBawg
</textarea>
parsing result:<div id="youtube_result"></div>
<hr>
query string:<br />
<textarea id="query_string" type="text" style="width:400px;">a=b&c=d&e=&=f&=&g
</textarea>
parsing result:<div id="query_result"></div>

JavaScript

function parse_youtube_id(yturl) {
	return (regexRes = yturl.match("youtube.com/.*[\\?&]v=([^&#]*)") 
           || yturl.match("youtu.be/([^&#?]*)")) && regexRes[1];
}

function parse_query_string(query){
    //query = query || location.search.substring(1);
    var args = {}, match = [], reg = /([^\?&=#]+)=([^\?&=#]*)/g;
    while(match = reg.exec(query)){
        args[decodeURIComponent(match[1])] = decodeURIComponent(match[2]);
    }
    return args;
}

$('#youtube_url').keyup(function(e){
    $('#youtube_result').text(parse_youtube_id($(this).val()));
});

$('#query_string').keyup(function(e){
    $('#query_result').text(JSON.stringify(parse_query_string($(this).val())));
});

$('#youtube_url').keyup();
$('#query_string').keyup();