Como validar CNPJ com PHP

Você quer aprender a validar CNPJ com PHP?

Validar CNPJ é um importante tratamento que um desenvolvedor pode fazer em seu sistema, principalmente para assegurar a validade dos dados.

Como estamos falando de PHP, a validação que nós iremos mostrar aqui será no back-end. Para que sua validação seja eficiente, o ideal é que você também faça uma validação no front-end.

Para alguns, validar CNPJ no back end e front end pode parecer redundante. No entanto, a importância de validar também no front-end pode reduzir as solicitações ao back-end.

Afinal, o que é CNPJ?

De forma bastante simples, o CNPJ trata-se de uma representação de um documento que todas as empresas precisam ter para operar no Brasil.

Ao estar de acordo com a legislação brasileira, empresas com CNPJ podem emitir notas fiscais, contratar colaboradores através da CLT e também requerer linhas de créditos com bancos públicos ou privados.

O CNPJ possui 14 dígitos no total cuja máscara é: XX.XXX.XXX/0001-XX.

Código para validar CNPJ com PHP

Com o código abaixo, é possível validar CNPJ com PHP.

Script para validar CNPJ com PHP

O código abaixo irá apenas fazer a validação e retornar um valor boleano.

// Validar numero de CNPJ
function validar_cnpj($cnpj) {

    // Verificar se foi informado
  if(empty($cnpj))
    return false;

  // Remover caracteres especias
  $cnpj = preg_replace('/[^0-9]/', '', $cnpj);

  // Verifica se o numero de digitos informados
  if (strlen($cnpj) != 14)
    return false;

  	// Verifica se todos os digitos são iguais
  if (preg_match('/(\d)\1{13}/', $cnpj))
    return false;

  $b = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];

    for ($i = 0, $n = 0; $i < 12; $n += $cnpj[$i] * $b[++$i]);

    if ($cnpj[12] != ((($n %= 11) < 2) ? 0 : 11 - $n)) {
        return false;
    }

    for ($i = 0, $n = 0; $i <= 12; $n += $cnpj[$i] * $b[$i++]);

    if ($cnpj[13] != ((($n %= 11) < 2) ? 0 : 11 - $n)) {
        return false;
    }

  return true;
}

Rotina para invocar o código para validação

Com o código acima adicionado, você poderá invocar a função da seguinte forma:

$isCnpjValido = validar_cnpj($cnpj);

Esperamos que este artigo te ajude a validar CNPJ com PHP. Caso tenha alguma dúvida, entre em contato conosco.

Quer ser um desenvolvedor profissional?

Baixe nosso ebook sobre desenvolvedor full-stack. Descubra quais são os passos necessários para se tornar um desenvolvedor completo.

Clique abaixo para baixar gratuitamente o ebook.

Sim, Eu Quero o eBook Desenvolvimento Full Stack

error: Conteúdo protegido