ForHosting KIT · Matemáticas

Validador del algoritmo de Luhn

Sepa al instante si una cadena de cifras supera la prueba de Luhn de módulo 10: 79927398713 la supera. Detecta cualquier cifra mal tecleada y la mayoría de los intercambios entre cifras vecinas, sin afirmar que el número exista. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto

El validador del algoritmo de Luhn comprueba si una cadena numérica cumple la conocida fórmula de suma de control módulo 10. Envíe los dígitos tal como aparecen, incluidos los ceros iniciales, y recibirá un resultado sencillo: válido o no válido. La capacidad solo valida la suma de control; no identifica al emisor, no confirma que exista una cuenta ni contacta con servicios externos. Las entradas con caracteres que no sean dígitos se rechazan expresamente en vez de limpiarse de forma silenciosa, lo que hace predecible la automatización y ayuda a detectar errores de formato antes de que lleguen a otro sistema.

Qué indica realmente un resultado de Luhn

La suma de control de Luhn es una regla compacta para detectar errores en secuencias de dígitos decimales. Desde la derecha, el algoritmo conserva el dígito de control, duplica cada segundo dígito, resta nueve cuando el doble tiene dos cifras y suma los valores resultantes. El número es válido si el total es divisible entre diez.

Así se detectan todos los cambios accidentales de un solo dígito y muchas transposiciones adyacentes habituales. Un resultado válido no demuestra que el número haya sido emitido, pertenezca a alguien, esté activo o permita una transacción. Solo indica que la cadena proporcionada es coherente con la fórmula de Luhn.

Esta distinción importa en interfaces y canalizaciones: presente el resultado como validez de la suma de control, no como verificación de identidad o cuenta. El validador conserva la representación textual, incluidos los ceros iniciales, y nunca convierte la entrada en un número de JavaScript; por ello, los identificadores largos mantienen todos sus dígitos sin pérdidas de precisión.

Cómo preparar la entrada e interpretar los errores

Envíe el valor en el campo <code>number</code> como una cadena no vacía formada únicamente por los caracteres del cero al nueve. Se rechazan espacios, guiones, signos de suma, puntos decimales, saltos de línea y letras. Este comportamiento estricto es intencionado.

Eliminar signos de forma silenciosa puede ocultar un defecto de formato anterior, cambiar el significado del texto copiado o hacer que dos sistemas parezcan coincidir aunque recibieran datos distintos. Si el origen presenta valores agrupados, normalícelos deliberadamente en su flujo antes de llamar a esta capacidad y conserve el original cuando necesite trazabilidad. No convierta primero la cadena en entero: podría eliminar ceros iniciales y redondear valores largos.

Una llamada correcta siempre devuelve un objeto con un campo booleano llamado <code>valid</code>. <code>true</code> significa que el total es divisible entre diez; <code>false</code>, que la entrada es sintácticamente correcta pero no supera la suma de control. Un error de entrada es distinto de un resultado falso y normalmente requiere corrección o revisión.

Cómo usar una validación determinista en aplicaciones

Utilice este validador en los límites por los que las cadenas numéricas entran en un sistema: envío de formularios, importaciones por lotes, migraciones, generación de datos de prueba o pruebas de integración. En formularios interactivos, ejecute la versión del navegador cuando la persona termine de introducir el valor y explique que la comprobación detecta errores probables sin demostrar que exista una cuenta. En una importación, trate los errores de caracteres como registros mal formados y los resultados falsos como registros bien formados cuya suma no coincide.

Separar ambos casos mejora los informes y conserva diagnósticos útiles. El algoritmo es determinista, no usa red, no consulta el reloj ni genera valores aleatorios; una misma entrada siempre produce la misma salida. Tampoco aplica reglas de longitud o prefijo propias de un emisor: cualquier cadena no vacía de dígitos recibe el mismo cálculo.

Si su dominio exige longitudes, prefijos, titularidad o estado en tiempo real, aplique esas reglas por separado.

Detectar errores de captura

Compruebe una cadena al enviar el formulario y distinga una suma incorrecta de una entrada con letras o signos.

Validar importaciones por lotes

Aplique la misma regla determinista a cada registro entrante antes de iniciar el procesamiento posterior.

Crear datos de prueba fiables

Confirme que cadenas válidas y no válidas se comportan siempre igual en las pruebas de integración sin depender de la red.

¿Qué significa un resultado válido?

Significa que la cadena cumple la suma de control módulo 10 de Luhn. No confirma emisión, titularidad, estado de cuenta ni aptitud para transacciones.

¿Puede incluir espacios o guiones la entrada?

No. Debe contener solo dígitos. Normalice expresamente los valores con formato antes de enviarlos.

¿Se conservan los ceros iniciales?

Sí. La entrada se procesa como cadena y nunca se convierte en un tipo numérico.

¿Exige el validador una longitud concreta?

No. Evalúa cualquier cadena no vacía de dígitos. Las reglas de longitud del dominio deben aplicarse aparte.

¿Cómo se calcula el dígito de control de Luhn?

Empezando por la derecha, se deja la última cifra como está y se duplica una de cada dos de las siguientes. Si al duplicar sale un número de dos cifras, se le resta 9. Se suma todo: la cadena es válida si el total es divisible entre 10.

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/math/luhn

¿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/math/luhn \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"79927398713"}'
{
  "number": "79927398713"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.luhn",
  "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.

Cómo usar una validación determinista en aplicaciones

Las llamadas API usan el precio base publicado de $0.002.

¿Cuánto cuesta una llamada a la API?

Cada solicitud usa el precio base publicado de $0.002. La experiencia del navegador puede ejecutar localmente la misma lógica determinista.

Ver la documentación completa del KIT →