Função para validar CNPJ, escrita em Javascript, seguindo as regras definidas pelo ministério da fazenda.
Você não precisa apreender um algorítimo com todas as regras necessárias para validar um simples CNPJ, utilize a função a seguir:
function _cnpj(cnpj) { cnpj = cnpj.replace(/[^\d]+/g, ''); if (cnpj == '') return false; if (cnpj.length != 14) return false; if (cnpj == "00000000000000" || cnpj == "11111111111111" || cnpj == "22222222222222" || cnpj == "33333333333333" || cnpj == "44444444444444" || cnpj == "55555555555555" || cnpj == "66666666666666" || cnpj == "77777777777777" || cnpj == "88888888888888" || cnpj == "99999999999999") return false; tamanho = cnpj.length - 2 numeros = cnpj.substring(0, tamanho); digitos = cnpj.substring(tamanho); soma = 0; pos = tamanho - 7; for (i = tamanho; i >= 1; i--) { soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2) pos = 9; } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado != digitos.charAt(0)) return false; tamanho = tamanho + 1; numeros = cnpj.substring(0, tamanho); soma = 0; pos = tamanho - 7; for (i = tamanho; i >= 1; i--) { soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2) pos = 9; } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado != digitos.charAt(1)) return false; return true; }
Vamos lá, a sua utilização é bem simples, basta você passar o CNPJ como parâmetro e ela irá retornar true ou false conforme o resultado da validação.
A função já irá desconsiderar a máscara antes de validar CNPJ, retirando os pontos, barra e traço.
Para validar o CNPJ irei criar uma função secundária que irá passar o feedback para o usuário com o resultado da validação.
Javascript
function validarCNPJ(el){ if( !_cnpj(el.value) ){ alert("CNPJinválido!" + el.value); // apaga o valor el.value = ""; } }
HTML de exemplo
<input name="campo_de_teste" type="text" onblur="validarCNPJ(this)">
Utilizo o evento “onblur” para acionar a função “validarCNPJ”, esta função irá executar à “_cnpj”, realizando a validação.
Você também pode customizar o código para que tudo seja feito em apenas uma única função.
Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…
Como adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2 Injete o Magento\Framework\Message\ManagerInterface no construtor da sua…
Para exibir as mensagens adicionadas na classe Magento\Framework\Message\ManagerInterface em um arquivo .phtml, você pode usar o seguinte código: <?php $objectManager…
Para criar um script no Magento 2 que exporte as categorias para um arquivo XML com o nome da categoria,…
Para definir um vídeo MP4 como plano de fundo em um <div> usando HTML e CSS, você pode seguir estas…
Como desativar o "lastname" no Magento 2 e Adobe Commerce Desativando a obrigatoriedade do campo Execute a SQL abaixo diretamente…
Ver comentários
Obrigado. Ficou muito bom. Me ajudou de mais.
Oi José, que bacana, fico feliz, se tiver alguma sugestão de melhoria na função fique a vontade! Abraço!
onblur="validarCPF(this)" kkk
obrigado pelo Feedback, corrigido!
Olá! Encontrei um pequeno erro de revisão.
No HTML de exemplo, a chamada de blur está referenciando a função "validarCPF", quando deveria ser "validarCNPJ".