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;
}