ForHosting KIT · Utilidades de desarrollo

Validador de corchetes equilibrados

El validador de corchetes equilibrados examina paréntesis, corchetes y llaves en código o texto mediante una sola pasada determinista.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Confirma que cada signo de apertura tenga el cierre correcto y respete el orden de anidación. Si la entrada no es válida, el resultado señala la primera discordancia detectable e indica su posición desde cero, el carácter encontrado y el esperado. Resulta útil para comprobaciones manuales, editores, procesos de compilación, ejercicios didácticos y validaciones ligeras sin depender de un analizador específico de un lenguaje.

Comprenda qué examina el validador

Este validador se concentra en las tres familias de delimitadores más habituales en código fuente y texto estructurado: paréntesis, corchetes y llaves. Para que una entrada sea válida, cada signo de apertura debe cerrarse con otro de la misma familia, y los cierres deben aparecer en el orden inverso al de las aperturas. Por ejemplo, <code>({[]})</code> está equilibrado porque cada pareja interior se cierra antes que su contenedor; <code>([)]</code> no lo está, pues el paréntesis se cierra mientras el corchete sigue abierto. Los caracteres distintos de esos seis signos no modifican el resultado. Por ello, usted puede pegar una función, un fragmento de configuración, una expresión matemática, un pasaje de prosa o una muestra de varias líneas. La comprobación es léxica y no conoce lenguajes: también cuenta los signos incluidos en cadenas entrecomilladas o comentarios. Esta regla previsible funciona en cualquier lenguaje, aunque no sustituye a un analizador de JavaScript, Python, JSON o compilador cuando esos signos deban ignorarse.

Interprete posiciones y diagnósticos

Cuando un cierre no puede corresponder a la apertura más reciente, la validación se detiene de inmediato e informa de ese cierre como primera discordancia detectada. La respuesta incluye <code>balanced: false</code>, una <code>position</code> basada en cero, el carácter <code>found</code> y el valor <code>expected</code>. En una anidación incorrecta como <code>{[}</code>, se informa de la llave de cierre en la posición dos porque allí se necesitaba un corchete de cierre. La respuesta también ofrece la posición de la apertura que originó esa expectativa. Si aparece un cierre sin ninguna apertura disponible, el valor esperado explica que hacía falta un signo de apertura. Solo al terminar el recorrido puede saberse que una apertura quedó sin cerrar; en tal caso, el resultado apunta a la apertura no cerrada más reciente e indica qué carácter necesita. Se usa la indexación de cadenas de JavaScript, por lo que las posiciones son desplazamientos de unidades de código UTF-16; en código ASCII ordinario coinciden con las posiciones habituales de los editores.

Intégrelo en automatización y revisiones

Para una comprobación interactiva, pegue código o texto en el ejecutor del navegador y revise la respuesta estructurada. La API utiliza el mismo solucionador determinista, de modo que una automatización recibe la misma decisión y los mismos campos de diagnóstico que una ejecución manual. Un gancho previo a una confirmación puede rechazar fragmentos generados cuando <code>balanced</code> sea falso; un proceso de documentación puede detectar ejemplos defectuosos antes de publicarlos, y una aplicación educativa puede aprovechar el carácter esperado y la posición exacta para ofrecer indicaciones concretas. Cada solicitud a la API cuesta $0.002; no se declara un cargo variable por carácter. La validación requiere tiempo lineal porque visita cada carácter una vez y conserva en una pila únicamente las aperturas pendientes. La herramienta no reescribe, repara, formatea, ejecuta ni evalúa el contenido enviado. Utilice su respuesta como una señal precisa sobre la estructura de los signos y combínela con un analizador o linter cuando también necesite validar gramática, cadenas, comentarios u otros errores sintácticos.

Revise código generado antes de guardarlo

Rechace un fragmento generado cuando el anidamiento esté incompleto o un cierre pertenezca a otra pareja.

Ofrezca observaciones precisas al alumnado

Muestre la ubicación desde cero y el carácter de cierre esperado, en vez de limitarse a indicar que la expresión no es válida.

Valide ejemplos de documentación

Examine muestras de código durante la publicación y señale estructuras defectuosas antes de que lleguen a sus lectores.

¿Qué caracteres se comprueban?

Se comprueban los paréntesis (), los corchetes [] y las llaves {}. Todos los demás caracteres se ignoran.

¿Las posiciones comienzan en cero?

Sí. La posición cero es la primera unidad de código UTF-16 de la cadena, conforme a la indexación de JavaScript.

¿Se ignoran los signos dentro de cadenas o comentarios?

No. Es una comprobación léxica independiente del lenguaje, por lo que cuenta cada signo sin importar dónde aparezca.

¿Qué ocurre si una apertura nunca se cierra?

Tras recorrer toda la entrada, el resultado identifica la apertura sin cerrar más reciente y el carácter de cierre que necesita.

¿Cuánto cuesta una solicitud a la API?

Cada solicitud a la API cuesta $0.002. El ejecutor del navegador realiza localmente la misma comprobación determinista.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →