Download the PHP package cancio-labs/cnpj-validation-function without Composer
On this page you can find all versions of the php package cancio-labs/cnpj-validation-function. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cancio-labs/cnpj-validation-function
More information about cancio-labs/cnpj-validation-function
Files in cancio-labs/cnpj-validation-function
Package cnpj-validation-function
Short Description A function to validate a CNPJ (corporate registration ID)
License GPL-3.0-or-later
Homepage https://github.com/canciolabs/cnpj-validation-function
Informations about the package cnpj-validation-function
CNPJ Validation Function
A lightweight, dependency-free PHP library for validating Brazilian CNPJ registration numbers. It accepts compact and formatted values, including the current alphanumeric CNPJ format, and provides both boolean and exception-based APIs.
Requirements
- PHP 8.5 or later
Installation
Install the package with Composer:
Composer automatically loads the package functions.
Usage
Import the functions from the CancioLabs\Cnpj\Functions namespace:
is_valid_cnpj
Use is_valid_cnpj(?string $cnpj): bool when validation should return a boolean result.
assert_cnpj
Use assert_cnpj(?string $cnpj): void when an invalid CNPJ should stop the current operation. It throws InvalidArgumentException for null, empty, malformed, repeated-digit, or checksum-invalid values.
Accepted formats
The first 12 characters may contain uppercase or lowercase letters and digits; letters are normalized to uppercase before validation. The final two check digits must be numeric.
| Format | Example |
|---|---|
| Compact numeric | 73078367000100 |
| Formatted numeric | 73.078.367/0001-00 |
| Compact alphanumeric | 12ABC34501DE35 |
| Formatted alphanumeric | 12.ABC.345/01DE-35 |
How it works
The validator checks the input format, rejects repeated numeric sequences, and verifies both CNPJ check digits. It supports the alphanumeric CNPJ format while preserving compatibility with traditional numeric CNPJs.
Testing
Install development dependencies and run the PHPUnit suite:
Contributing
Contributions are welcome. Please open an issue to discuss substantial changes, then submit a pull request with focused code and accompanying tests.
License
This project is licensed under the GNU General Public License v3.0 or later.