ForHosting KIT · Ferramentas para dev

Validador de colchetes balanceados

Cole código ou texto e saiba na hora se cada (, [ e { fecha na ordem certa: ({[]}) está balanceado, ([)] não, e o primeiro descompasso aparece com a posição e o sinal que deveria estar ali. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

O validador de colchetes balanceados verifica parênteses, colchetes e chaves em código ou texto com uma única passagem determinística. Ele confirma se cada abertura tem o fechamento correto e se a ordem de aninhamento foi respeitada. Quando a entrada é inválida, o resultado aponta a primeira divergência detectável e informa a posição iniciada em zero, o caractere encontrado e o esperado. Assim, você pode usá-lo em verificações manuais, integrações com editores, rotinas de build, exercícios didáticos e pipelines leves sem precisar de um analisador específico para cada linguagem.

Entenda o que o validador verifica

Este validador trata das três famílias de delimitadores mais comuns em código-fonte e texto estruturado: parênteses, colchetes e chaves. Para a entrada ser válida, cada abertura deve ser fechada por um caractere da mesma família, e os fechamentos precisam seguir a ordem inversa das aberturas. Por exemplo, <code>({[]})</code> está balanceado porque cada par interno se fecha antes de seu contêiner; <code>([)]</code> não está, pois o parêntese se fecha enquanto o colchete continua aberto.

Caracteres diferentes desses seis sinais não alteram o resultado. Portanto, você pode colar uma função, um trecho de configuração, uma expressão matemática, um texto em prosa ou uma amostra com várias linhas. A verificação é lexical, não vinculada a uma linguagem: sinais dentro de strings entre aspas ou comentários também são contados.

Interprete posições e diagnósticos

Quando um fechamento não corresponde à abertura mais recente, a validação para imediatamente e apresenta esse caractere como a primeira divergência detectada. A resposta contém <code>balanced: false</code>, uma <code>position</code> iniciada em zero, o caractere <code>found</code> e aquilo que era <code>expected</code>. Em um aninhamento incorreto como <code>{[}</code>, a chave de fechamento aparece na posição dois, pois ali era necessário um colchete de fechamento.

A resposta também fornece a posição da abertura que gerou essa expectativa. Se houver um fechamento sem nenhuma abertura disponível, o valor esperado explica que era preciso encontrar uma abertura. Uma abertura restante só pode ser reconhecida como incompleta após o fim da leitura; nesse caso, o resultado aponta a abertura não fechada mais recente e indica o caractere necessário.

A indexação de strings do JavaScript é usada, então as posições são deslocamentos de unidades de código UTF-16; em código ASCII comum, elas correspondem aos deslocamentos de caracteres exibidos pela maioria dos editores.

Use em automações e revisões

Para uma conferência interativa, cole o código ou texto no executor do navegador e examine a resposta estruturada. Um gancho de pré-commit pode rejeitar trechos gerados quando <code>balanced</code> for falso; um pipeline de documentação pode detectar exemplos malformados antes da publicação; e uma aplicação educacional pode usar o caractere esperado e a posição exata para orientar o aluno. A validação tem tempo linear, pois cada caractere é visitado uma vez, enquanto uma pilha guarda somente as aberturas ainda não fechadas.

O validador não reescreve, corrige, formata, executa nem avalia o conteúdo enviado. Use a resposta como um sinal preciso da estrutura dos delimitadores e combine-a com um parser ou linter quando também precisar validar gramática, strings, comentários ou outros erros de sintaxe.

Confira código gerado antes de salvar

Rejeite um trecho gerado quando o aninhamento estiver incompleto ou um fechamento pertencer ao par errado.

Dê orientações objetivas aos alunos

Mostre a posição iniciada em zero e o caractere esperado, em vez de apenas informar que a expressão é inválida.

Valide exemplos da documentação

Examine amostras de código no pipeline de publicação e sinalize estruturas defeituosas antes que cheguem aos leitores.

Quais caracteres são verificados?

O validador verifica parênteses (), colchetes [] e chaves {}. Todos os demais caracteres são ignorados.

As posições começam em zero?

Sim. A posição zero é a primeira unidade de código UTF-16 da string, conforme a indexação do JavaScript.

Sinais dentro de strings ou comentários são ignorados?

Não. Esta é uma verificação lexical independente de linguagem, portanto todos os sinais são contados onde aparecerem.

O que ocorre quando uma abertura nunca é fechada?

Depois de percorrer toda a entrada, o resultado identifica a abertura não fechada mais recente e o caractere necessário para fechá-la.

Como descubro qual parêntese ou colchete está errado?

Cole o texto: a verificação para no primeiro fechamento que não combina. Em {[} ela aponta a posição dois, porque surgiu uma chave de fechamento onde se esperava um colchete de fechamento, e mostra também onde esse colchete foi aberto.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/balanced-brackets

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/balanced-brackets \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"function demo(items) { return items[0]; }"}'
{
  "text": "function demo(items) { return items[0]; }"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.balanced_brackets",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Entenda o que o validador verifica

Essa regra previsível funciona em várias linguagens, mas não substitui um parser de JavaScript, Python, JSON ou um compilador quando sinais em strings e comentários devem ser ignorados.

Use em automações e revisões

A API utiliza o mesmo solucionador determinístico, portanto a automação recebe a mesma decisão e os mesmos campos de diagnóstico de uma execução manual. Cada solicitação de API custa US$ 0,002; não há cobrança variável por caractere declarada.

Quanto custa uma solicitação de API?

Cada solicitação de API custa US$ 0,002. O executor do navegador faz localmente a mesma verificação determinística.

Ver a documentação completa do KIT →