Validador del algoritmo de Luhn
Cómo funciona el algoritmo de Luhn
- Empezando por el dígito de la derecha, duplica cada segundo dígito.
- Si al duplicar obtienes un número mayor que 9, réstale 9 (equivale a sumar los dos dígitos).
- Suma todos los dígitos (los duplicados y los que no cambian).
- Si el total es divisible entre 10, el número es válido.
Ejemplo: 79927398713 pasa la verificación; los dígitos procesados suman 70.
Cambia un solo dígito y la suma ya no será divisible entre 10.
Implementación
JavaScript
function isValidLuhn(number) {
const digits = number.replace(/\D/g, '');
let sum = 0;
let double = false;
for (let i = digits.length - 1; i >= 0; i--) {
let digit = Number(digits[i]);
if (double) {
digit *= 2;
if (digit > 9) digit -= 9;
}
sum += digit;
double = !double;
}
return sum % 10 === 0;
}
Python
def is_valid_luhn(number: str) -> bool:
digits = [int(c) for c in number if c.isdigit()]
total = 0
for index, digit in enumerate(reversed(digits)):
if index % 2 == 1:
digit *= 2
if digit > 9:
digit -= 9
total += digit
return total % 10 == 0
Luhn no es suficiente
Un número puede pasar Luhn y seguir siendo inválido: el BIN puede no existir, la longitud puede ser incorrecta para la red o la tarjeta simplemente puede no estar emitida. Luhn solo detecta errores accidentales, como los errores de escritura. Para una verificación completa, combínalo con el verificador de BIN y, para obtener números de práctica, usa el generador de tarjetas de prueba.
Herramientas gratuitas para pruebas de pago
Generador de tarjetas de crédito
Genera tarjetas de prueba desde cualquier BIN
Generador avanzado
Patrones con comodines y generación masiva
Números de tarjeta de prueba
Números oficiales de la documentación de cada pasarela
Validador Luhn
Comprueba si un número de tarjeta es válido
Verificador BIN
Identifica la red de la tarjeta a partir del BIN
Generador Visa
Números de prueba Visa que empiezan con 4
Generador Mastercard
Números de prueba Mastercard 51–55 / 2221–2720
Generador Amex
Números de prueba American Express de 15 dígitos
Generador Discover
Números de prueba Discover 6011 / 65
Calculadora de intereses
Estima los intereses de tu tarjeta
Calculadora de pagos
Planifica tu pago mensual
Artículos
Guías y tutoriales de pruebas de pago