Algoritmo de Luhn em JavaScript (Cartão de Crédito)
Validação e geração de números de cartão de crédito em JavaScript usando o algoritmo de Luhn.
Introdução
O algoritmo de Luhn é essencial para validar cartões em checkouts de e-commerce antes de enviar ao gateway.
O Algoritmo
O Módulo 10 processa os dígitos em pares, dobrando alternadamente. Se o resultado não for divisível por 10, o número é inválido.
Implementação em Javascript
credit-card-generator.jsjavascript
function luhnValidate(number) {
const digits = number.replace(/\D/g, '').split('').reverse().map(Number);
let sum = 0;
for (let i = 0; i < digits.length; i++) {
let digit = digits[i];
if (i % 2 === 1) {
digit *= 2;
if (digit > 9) digit -= 9;
}
sum += digit;
}
return sum % 10 === 0;
}
function generateCard(prefix, length = 16) {
let number = prefix;
while (number.length < length - 1) {
number += Math.floor(Math.random() * 10);
}
for (let i = 0; i < 10; i++) {
if (luhnValidate(number + i)) return number + i;
}
return number + '0';
}
// Gerar para testes
console.log(generateCard('4')); // Visa
console.log(generateCard('51')); // MastercardEsta implementação funciona tanto no browser quanto no Node.js. Use para validação instant em formulários de checkout antes de enviar ao servidor.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar CREDIT-CARD-GENERATOR instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de CREDIT-CARD-GENERATOR Online