gtech-card-validator
v2.0.0
Published
Biblioteca que deverá validar o número do cartão de crédito (usando algoritmo de Luhn) e retornar true ou false de acordo com o caso.
Readme
Validador de Cartão de Crédito
Biblioteca JavaScript para validação de números de cartão de crédito utilizando o Algoritmo de Luhn. Desenvolvida durante o bootcamp da Laboratoria (2019).
📋 Índice
📖 Sobre o Projeto
Esta biblioteca valida números de cartão de crédito utilizando o Algoritmo de Luhn (também conhecido como algoritmo do módulo 10). O algoritmo é amplamente utilizado para validar números de identificação, como números de cartão de crédito, números de CPF, entre outros.
O projeto foi desenvolvido como parte do bootcamp da Laboratoria, com foco em boas práticas de desenvolvimento, testes unitários e publicação de pacotes npm.
📦 Instalação
npm install gtech-card-validator🚀 Como Usar
// CommonJS
const { cardValidator } = require("gtech-card-validator");
// ES Modules
import { cardValidator } from "gtech-card-validator";📚 API
cardValidator(cardNumber)
Valida um número de cartão de crédito usando o algoritmo de Luhn.
Parâmetros:
- cardNumber (string | number) - Número do cartão de crédito a ser validado
Retorno:
- boolean - true se o cartão for válido, false para cartão inválido
Comportamento para entradas inválidas:
- Retorna false para null, undefined ou string vazia
- Retorna false para valores que não sejam números ou strings numéricas
💡 Exemplos
Validando múltiplos cartões
const { cardValidator } = require("gtech-card-validator");
const cardNumbers = [
30101939488151, // true
"4532015112830366", // true
"5434 2274 4255 6639", // true
"3750 974423 61799", // true
"3010 193948 8151", // true
"5555555555554444", // true
"1234567890123456", // false
null, // false
"", // false
];
cardNumbers.forEach((num) => {
const isValid = cardValidator(num);
console.log(`${num || "empty/null"}: ${isValid}`);
});🛠️ Tecnologias
- JavaScript - Linguagem principal
- Jest - Framework de testes
- ESLint - Linter para código consistente
📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
