micdog/cnpj-alfa

Validação e formatação de CNPJ alfanumérico (SEFAZ/Serpro): 12 caracteres alfanuméricos + 2 DVs numéricos (módulo 11).

Maintainers

Package info

github.com/micdog22/CNPJ-Alfanumerico

pkg:composer/micdog/cnpj-alfa

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

v1.0.0 2025-08-28 19:55 UTC

This package is auto-updated.

Last update: 2026-03-28 21:18:17 UTC


README

Validação e formatação de CNPJ alfanumérico: 12 caracteres alfanuméricos + 2 dígitos verificadores numéricos calculados por módulo 11 (pesos 2..9 da direita para a esquerda, cíclico).
Mapeamento de caracteres: valor = ord(ch) - 48.

Instalação

composer require micdog/cnpj-alfa

Desenvolvimento:

git clone https://github.com/micdog22/CNPJ-Alfanumerico.git
cd CNPJ-Alfanumerico
composer install

Uso

use MicDog\CnpjAlfa\CnpjAlfa;

// Validar
$ok  = CnpjAlfa::validate('12ABC34501DE35'); // true/false
$fmt = CnpjAlfa::format('12abc34501de35');   // "12.ABC.345/01DE-35"

// Calcular DV (quando você tem só os 12 primeiros)
[$dv1, $dv2] = CnpjAlfa::computeDv('12ABC34501DE'); // [int, int]

CLI de demonstração

php bin/demo "12ABC34501DE35" "59.952.259/0001-85"

Saída esperada:

[OK] 12.ABC.345/01DE-35
[OK] 59.952.259/0001-85

Regras (resumo)

  • Corpo: 12 caracteres [A-Z0-9]
  • DV1: módulo 11 aplicando pesos 2..9 da direita para a esquerda.
  • DV2: repete o cálculo com os 13 primeiros (12 + DV1).
  • Dígitos finais devem ser numéricos.

Testes

composer test

Licença

MIT