Как проверить строку на сбалансированность скобок?
Ололошки уже три ответа и ни одного правильного.function isBalanced(str) {
    // пары открывающих-закрывающих скобок
    var br = "(){}[]";
    // стек открытых скобок
    var st = [];
    // бежим по всей строке
    for (var i = 0; i < str.length; ++i) {
        // текущий символ
        var ch = str[i];
        // ищем символ в скобках
        var ind = br.indexOf(ch);
        // если скобка найдена
        if (ind >= 0) {
            // проверяем, какая это скобка
            if (ind & 1) {
                // если закрывающая скобка, проверяем стек
                // стек пуст - плохо
                if (!st.length) return false;
                // извлекаем последнюю открытую скобку из стека
                var last_br = st.pop();
                // если она не соответствует закрывающей скобке - тоже плохо
                if (last_br != br[ind - 1]) return false;
            } else { 
                // открывающую скобку просто пихаем в стек
                st.push(ch);
            }
        }
    }
    // если после обхода всей строки стек пуст - всё ок
    return !st.length;
}
Проверять тут.
самая первая мысль - подсчитать кол. открытых скобок и закрытых - если равны, значит все окей(но тут есть загвоздка с расположением скобок)if(s.split("(").length == s.split(")").length) alert('ok'); else alert('not ok')