Brace Checker
by Kaeden
HTML
<div id="output"></div>
JavaScript
var checkBraces = function(input) {
var stack = [];
input = input.replace(/\s+/g, '');
while (input.length) {
var char = input.charAt(0);
input = input.slice(1);
if (char == '(' || char == '{' || char == '[') {
stack.push(char);
}
else {
if (!stack.length) {
return false;
}
var pop = stack.pop();
if (char == ')' && pop != '('
|| char == '}' && pop != '{'
|| char == ']' && pop != '[') {
return false;
}
}
}
return !stack.length;
};
var runTest = function(input) {
var str = "Testing '" + input + "': " + checkBraces(input);
log(str);
};
var log = function(text) {
$(output).append('<div>' + text + '</div>');
};
runTest("( { [ ]} ) ");
runTest("{ { { [[ ] ] } } }");
runTest("{ { { [[ ] ] } }");
runTest("( )(() ");
runTest("( { [ ]} ) ");