Criar um módulo npm para validação de CPF pode parecer uma tarefa complexa, mas com a abordagem correta, é possível desenvolver uma solução robusta e reutilizável em poucos passos. Este método garante que seu módulo siga as regras do algoritmo de validação do CPF brasileiro, proporcionando confiabilidade e facilidade de uso para outros desenvolvedores.
O primeiro passo é inicializar um novo projeto npm. Abra seu terminal e execute o comando abaixo para criar uma nova pasta para o seu módulo e inicializar o package.json:
mkdir cpf-validator
cd cpf-validator
npm init -y
Agora, crie um arquivo chamado index.js na pasta do projeto. Neste arquivo, implementaremos a função de validação do CPF, que seguirá o algoritmo padrão de verificação dos dígitos verificadores:
function validarCPF(cpf) {
cpf = cpf.replace(/[^\d]/g, '');
if (cpf.length !== 11 || /^(\d)\1{10}$/.test(cpf)) {
return false;
}
let soma = 0;
let resto;
for (let i = 1; i <= 9; i++) {
soma += parseInt(cpf.substring(i - 1, i)) * (11 - i);
}
resto = (soma * 10) % 11;
if (resto === 10 || resto === 11) {
resto = 0;
}
if (resto !== parseInt(cpf.substring(9, 10))) {
return false;
}
soma = 0;
for (let i = 1; i <= 10; i++) {
soma += parseInt(cpf.substring(i - 1, i)) * (12 - i);
}
resto = (soma * 10) % 11;
if (resto === 10 || resto === 11) {
resto = 0;
}
if (resto !== parseInt(cpf.substring(10, 11))) {
return false;
}
return true;
}
module.exports = { validarCPF };
Para testar o módulo, crie um arquivo test.js e importe a função de validação:
const { validarCPF } = require('./index');
const cpfs = [
'123.456.789-09', // Inválido
'111.444.777-35', // Válido
'111.111.111-11', // Inválido (sequência)
'529.982.247-25' // Válido
];
cpfs.forEach(cpf => {
console.log(`${cpf}: ${validarCPF(cpf) ? 'Válido' : 'Inválido'}`);
});
| CPF | Status |
|---|---|
| 123.456.789-09 | Inválido |
| 111.444.777-35 | Válido |
| 111.111.111-11 | Inválido |
| 529.982.247-25 | Válido |
Para disponibilizar seu módulo para outros desenvolvedores, você pode publicá-lo no npm. Primeiro, faça login em sua conta npm:
npm login
Em seguida, publique o módulo:
npm publish
Com este método, você criou um módulo npm completo e funcional para validação de CPF, seguindo as melhores práticas de desenvolvimento e garantindo a precisão do algoritmo. Agora, seu módulo está pronto para ser utilizado em qualquer projeto Node.js ou compartilhado com a comunidade através do npm.