Bracket validator.

Check if the string have balanced brackets.

by jeevankk

JavaScript

function bracketValidator(input) {
	var reverseLookup = {
  	'}': '{',
    ')': '(',
    '>': '<',
    ']': '['
  }, bracketStack = [];
  for(let i=0; i<input.length; i++) {
  	let singleChar = input.charAt(i);
  	switch(singleChar) {
    	case '(':
      case '{':
      case '<':
      case '[':
      	bracketStack.push(singleChar);
        break;
      case ')':
      case '}':
      case '>':
      case ']':
      	let lastBracket = bracketStack.pop();
        if(lastBracket != reverseLookup[singleChar])
        	return false;
    }
  }
  if(bracketStack.length == 0)
  	return true;
  return false;  
}

bracketValidator('<asdasd{asdsa(asasdas)asdsad}asdasdasd>'); //true
bracketValidator('<asdasda>()'); //true
bracketValidator('<asdasda>{aa)}'); //false
bracketValidator('');//true