JSFiddle - React, Tailwind, and code Playground

JavaScript

console.clear()
console.info(js("function test(){ alert(); }"));
console.info(js("function test)({ al]ert(); }"));
console.info(js("function test(){ alert([]); }"));
console.info(js("function test(){ alert(]); }"));
function js(text){
    var brackets_open = '({[<',
        brackets_close = ')}]>'
    var i, l=text.length,  char,  last, stack=[], bi

    for(i=0; i<l; i++){
        char=text[i];
        bi = brackets_open.indexOf(char)
        if(bi != -1){
            stack.push(char);
            last=char;
        }else if(brackets_close.indexOf(char) != -1){
            if(last){
                if(bi == brackets_close.indexOf(last)) {
                    stack.pop();
                    last = stack.length > 0 ? stack[stack.length - 1] : undefined;
                }
            }else{
                return false;
            }
        }
    }
    return stack.length==0;
}