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