React em 2025: Por que Aprender,Como Funciona e Como Dominar
React em 2025: Por que Aprender,Como Funciona e Como Dominar

Como Criar um Validador de CNPJ em PHP

Validar um CNPJ é uma tarefa essencial para sistemas que lidam com cadastros de empresas, emissão de notas fiscais, contratos e outros processos que exigem conformidade com os dados da Receita Federal. Neste artigo, você aprenderá como criar um validador de CNPJ utilizando PHP, implementando a lógica correta para checagem dos dígitos verificadores e garantindo que o número informado tenha estrutura válida.


Por que validar um CNPJ?

O CNPJ (Cadastro Nacional da Pessoa Jurídica) é o número que identifica uma empresa legalmente no Brasil. No entanto, não basta que o número tenha 14 dígitos. É necessário validar sua composição através de um cálculo matemático específico que envolve os dois últimos dígitos do número: os chamados dígitos verificadores.

Essa verificação é fundamental para:

  • Impedir cadastros incorretos ou fraudulentos;
  • Evitar problemas fiscais com notas emitidas para CNPJs inválidos;
  • Automatizar o processo de entrada de dados com mais confiabilidade.

Estrutura do CNPJ

Um CNPJ válido possui 14 dígitos, com a seguinte estrutura:

XX.XXX.XXX/0001-YY

Onde:

  • Os 8 primeiros dígitos representam a raiz do CNPJ (identificação da empresa);
  • Os 4 dígitos seguintes (geralmente 0001) representam a filial;
  • Os 2 últimos dígitos são os dígitos verificadores, calculados por um algoritmo específico.

Lógica de validação dos dígitos verificadores

A validação do CNPJ em PHP segue uma regra matemática definida pela Receita Federal. O processo é feito em duas etapas, uma para cada dígito verificador:

  1. Multiplica-se os 12 primeiros dígitos por uma sequência de pesos (de 5 a 2 e depois de 9 a 2);
  2. Calcula-se o módulo 11 da soma dos produtos;
  3. Se o resultado for menor que 2, o dígito é 0; caso contrário, subtrai-se o resultado de 11.

Esse processo é repetido com os 13 primeiros dígitos para obter o segundo dígito verificador.


Exemplo de código PHP para validar CNPJ

function validarCNPJ($cnpj)
{
    // Remove caracteres não numéricos
    $cnpj = preg_replace('/[^0-9]/', '', $cnpj);

    // Verifica se o CNPJ tem 14 dígitos
    if (strlen($cnpj) != 14) {
        return false;
    }

    // Evita CNPJs com todos os dígitos iguais
    if (preg_match('/(\d)\1{13}/', $cnpj)) {
        return false;
    }

    // Cálculo do primeiro dígito verificador
    $peso1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
    $soma1 = 0;
    for ($i = 0; $i < 12; $i++) {
        $soma1 += $cnpj[$i] * $peso1[$i];
    }
    $resto1 = $soma1 % 11;
    $digito1 = ($resto1 < 2) ? 0 : 11 - $resto1;

    // Cálculo do segundo dígito verificador
    $peso2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
    $soma2 = 0;
    for ($i = 0; $i < 13; $i++) {
        $soma2 += $cnpj[$i] * $peso2[$i];
    }
    $resto2 = $soma2 % 11;
    $digito2 = ($resto2 < 2) ? 0 : 11 - $resto2;

    // Compara os dígitos calculados com os informados
    return $cnpj[12] == $digito1 && $cnpj[13] == $digito2;
}

Esse código pode ser adaptado em qualquer aplicação que precise validar CNPJs de forma rápida e segura, seja em formulários, rotinas de importação ou integração de APIs.


Dicas para uso do validador em aplicações

  • Sempre limpe o input do usuário antes de validar;
  • Combine essa validação estrutural com uma consulta na Receita Federal para checar a situação cadastral da empresa;
  • Use o validador tanto no front-end (para feedback imediato) quanto no back-end (para garantir segurança);
  • Evite armazenar dados inválidos no banco de dados — valide antes de salvar.

Conclusão

Criar um validador de CNPJ em PHP é simples, mas extremamente eficaz para manter a integridade dos dados da sua aplicação. Ao aplicar a lógica correta para verificação dos dígitos, você garante que apenas CNPJs válidos passem pelo seu sistema, prevenindo erros e protegendo sua operação contra cadastros maliciosos ou incorretos.

Se você trabalha com sistemas que envolvem empresas, incorporar esse tipo de validação é um passo essencial para mais profissionalismo, segurança e eficiência.

🔥 Construa seus projetos com a melhor infraestrutura e ainda apoie o DevsBrasil!

Na Hostinger, você encontra hospedagem rápida, segura e com suporte top de linha — ideal para desenvolvedores e empreendedores digitais.

💡 Use o nosso link exclusivo do DevsBrasil e garanta:

✅ Descontos especiais nos planos de hospedagem, e-mail profissional, VPS e criador de sites com IA

✅ Ferramentas otimizadas para performance, com ótimo custo-benefício

✅ Apoio direto à nossa comunidade e ao nosso conteúdo gratuito 💚

👉 Acesse agora com nosso link exclusivo e aproveite os benefícios!

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *