Como Validar CNPJ em JavaScript (Validar Formulário)
Valide CNPJ no frontend ou no Node.js com este snippet de código JavaScript otimizado.
Introdução
Validar CNPJ no cliente é essencial para evitar erros de digitação em formulários corporativos. Veja como fazer isso com JavaScript puro.
O Algoritmo
Semelhante ao CPF, mas com 14 dígitos e pesos diferentes. O cálculo dos dois digitos verificadores garante a integridade do número.
Implementação em Javascript
cnpj.jsjavascript
function validateCNPJ(cnpj) {
cnpj = cnpj.replace(/[^\d]+/g, '');
if (cnpj.length !== 14 || /^(\d)\1+$/.test(cnpj)) return false;
let size = cnpj.length - 2
let numbers = cnpj.substring(0, size);
let digits = cnpj.substring(size);
let sum = 0;
let pos = size - 7;
for (let i = size; i >= 1; i--) {
sum += numbers.charAt(size - i) * pos--;
if (pos < 2) pos = 9;
}
let result = sum % 11 < 2 ? 0 : 11 - sum % 11;
if (result != digits.charAt(0)) return false;
size = size + 1;
numbers = cnpj.substring(0, size);
sum = 0;
pos = size - 7;
for (let i = size; i >= 1; i--) {
sum += numbers.charAt(size - i) * pos--;
if (pos < 2) pos = 9;
}
result = sum % 11 < 2 ? 0 : 11 - sum % 11;
if (result != digits.charAt(1)) return false;
return true;
}A função percorre os dígitos applicando os pesos necessários (que variam de 2 a 9 e reiniciam). Se o resto da divisão bater com os dígitos verificadores, o CNPJ é válido.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar CNPJ instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de CNPJ Online