PHPackages                             avf/cnpj - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. avf/cnpj

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

avf/cnpj
========

Validador de CNPJ numérico e alfanumérico para PHP

v1.0.0(1mo ago)02MITPHPPHP ^8.2

Since Jul 10Pushed 1mo agoCompare

[ Source](https://github.com/ArthurVFelipe/php-cnpj-validator)[ Packagist](https://packagist.org/packages/avf/cnpj)[ Docs](https://github.com/ArthurVFelipe/php-cnpj-validator)[ RSS](/packages/avf-cnpj/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

AVF CNPJ Validator
==================

[](#avf-cnpj-validator)

Biblioteca PHP para validação, formatação e cálculo de dígitos verificadores de CNPJ.

Suporta:

- ✅ CNPJ numérico tradicional
- ✅ CNPJ alfanumérico
- ✅ Remoção de máscara
- ✅ Formatação de CNPJ
- ✅ Cálculo dos dígitos verificadores (DV)
- ✅ Compatível com PHP 8.2+

---

Instalação
----------

[](#instalação)

Instale via Composer:

```
composer require avf/cnpj
```

---

Requisitos
----------

[](#requisitos)

- PHP &gt;= 8.2
- Composer

---

Uso básico
----------

[](#uso-básico)

Após instalar, carregue o autoload do Composer:

```
require __DIR__ . '/vendor/autoload.php';
```

Importe a classe principal:

```
use Avf\Cnpj\Cnpj;
```

---

Validação de CNPJ
=================

[](#validação-de-cnpj)

CNPJ válido
-----------

[](#cnpj-válido)

```
$result = Cnpj::isValid(
    '93.015.006/0001-13'
);

var_dump($result);
```

Resultado:

```
bool(true)
```

---

CNPJ inválido
-------------

[](#cnpj-inválido)

```
$result = Cnpj::isValid(
    '93.015.006/0001-14'
);

var_dump($result);
```

Resultado:

```
bool(false)
```

---

CNPJ Alfanumérico
=================

[](#cnpj-alfanumérico)

A biblioteca suporta CNPJ contendo caracteres alfanuméricos na composição da base.

Exemplo:

```
$result = Cnpj::isValid(
    '112223AA000151'
);

var_dump($result);
```

Resultado:

```
bool(true)
```

---

Formatação do CNPJ
==================

[](#formatação-do-cnpj)

Transforma um CNPJ sem máscara no formato tradicional:

```
echo Cnpj::format(
    '93015006000113'
);
```

Resultado:

```
93.015.006/0001-13

```

---

Remover máscara
===============

[](#remover-máscara)

Remove pontos, barras e hífen:

```
echo Cnpj::removeMask(
    '93.015.006/0001-13'
);
```

Resultado:

```
93015006000113

```

---

Cálculo dos dígitos verificadores
=================================

[](#cálculo-dos-dígitos-verificadores)

É possível calcular os dois últimos dígitos de um CNPJ.

Exemplo:

```
echo Cnpj::calculateDv(
    '930150060001'
);
```

Resultado:

```
13

```

Com o resultado, o CNPJ completo fica:

```
93015006000113

```

---

Estrutura da biblioteca
=======================

[](#estrutura-da-biblioteca)

```
src/
└── Cnpj/
    ├── Cnpj.php
    ├── Validator.php
    ├── Calculator.php
    ├── Converter.php
    └── Formatter.php

```

Responsabilidades:

### Cnpj

[](#cnpj)

Facade pública da biblioteca.

Exemplo:

```
Cnpj::isValid();
Cnpj::format();
Cnpj::calculateDv();
```

---

### Validator

[](#validator)

Responsável por validar o CNPJ informado.

---

### Calculator

[](#calculator)

Responsável pelo algoritmo de cálculo dos dígitos verificadores.

---

### Converter

[](#converter)

Responsável pela conversão de caracteres alfanuméricos:

Exemplo:

```
A = 10
B = 11
Z = 35

```

---

### Formatter

[](#formatter)

Responsável pela normalização e formatação:

Exemplo:

```
93.015.006/0001-13

↓

93015006000113

```

---

Testes
======

[](#testes)

A biblioteca utiliza PHPUnit.

Instalar dependências:

```
composer install
```

Executar todos os testes:

```
composer test
```

ou:

```
vendor/bin/phpunit
```

---

Cobertura de testes
-------------------

[](#cobertura-de-testes)

Os testes cobrem:

- Conversão de caracteres
- Formatação
- Remoção de máscara
- Cálculo dos dígitos verificadores
- Validação de CNPJ numérico
- Validação de CNPJ alfanumérico
- Casos inválidos

Exemplo de saída:

```
PHPUnit 11.x

................ 16 / 16

OK (16 tests, 19 assertions)

```

---

Exemplo completo
================

[](#exemplo-completo)

```
