Precisando de uma função simples para validar CNPJ no JavaScript? Tenho uma aqui para você 🙂
Na função demonstrada abaixo você pode verificar se um determinado CNPJ é ou não válido. Você receberá um valor booleano ao executar a função, veja:
// Gostou? Considere enviar um café para o PIX: cafe@1bit.cafe.
function CnpjValido(cnpj) {
cnpj = cnpj.replace(/[^\d]+/g, '');
if (cnpj.length != 14)
return false;
var tamanhoTotal = cnpj.length - 2
var cnpjSemDigitos = cnpj.substring(0, tamanhoTotal);
var digitosVerificadores = cnpj.substring(tamanhoTotal);
var soma = 0;
var pos = tamanhoTotal - 7;
for (i = tamanhoTotal; i >= 1; i--) {
soma += cnpjSemDigitos.charAt(tamanhoTotal - i) * pos--;
if (pos < 2)
pos = 9;
}
resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
if (resultado != digitosVerificadores.charAt(0))
return false;
tamanhoTotal = tamanhoTotal + 1;
cnpjSemDigitos = cnpj.substring(0, tamanhoTotal);
soma = 0;
pos = tamanhoTotal - 7;
for (i = tamanhoTotal; i >= 1; i--) {
soma += cnpjSemDigitos.charAt(tamanhoTotal - i) * pos--;
if (pos < 2)
pos = 9;
}
resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
if (resultado != digitosVerificadores.charAt(1))
return false;
return true;
}
Para executar a função, é muito simples, veja:
function ValidarCnpj() {
var cnpj = document.getElementById("campoCNPJ").value;
if (CnpjValido(cnpj)) {
alert("O CNPJ [" + cnpj + "] é válido!");
} else {
alert("O CNPJ [" + cnpj + "] não é válido!");
}
}
No HTML, as implementações ficaram assim:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Validaçao de CNPJ</title>
<script src="ValidacaoCNPJ.js"></script>
</head>
<body>
<!-- https://1bit.cafe -->
<label>CNPJ</label><br />
<input type="text" id="campoCNPJ"><br />
<button onclick="ValidarCnpj()">Validar</button>
</body>
</html>
Neste caso, a execução da validação está no “click” do botão “Validar”.
Você pode obter este código completo aqui: https://github.com/solucaodev/sdlab/tree/main/JS/Validadores/CNPJ.
Você pode ver este código em funcionamento aqui: https://1bit.cafe/ferramentas/validar-cnpj-online.
Até a próxima 🙂