From 201e1a40637a9006318e6ccc2229f4e641be3517 Mon Sep 17 00:00:00 2001 From: CRMNOTE_34 Date: Fri, 19 Jun 2026 10:12:52 -0300 Subject: [PATCH] fix(cnpj format): Add alphanumeric CNPJ support to format validation --- src/validator-docs/Formats/Cnpj.php | 2 +- tests/ValidatorFormatsTest.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/validator-docs/Formats/Cnpj.php b/src/validator-docs/Formats/Cnpj.php index 250349e..365ea0b 100644 --- a/src/validator-docs/Formats/Cnpj.php +++ b/src/validator-docs/Formats/Cnpj.php @@ -8,6 +8,6 @@ class Cnpj implements ValidatorFormats { public static function validateFormat(string $value): bool { - return preg_match('/^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/', $value) > 0; + return preg_match('/^[A-Z\d]{2}\.[A-Z\d]{3}\.[A-Z\d]{3}\/[A-Z\d]{4}-\d{2}$/i', $value) > 0; } } diff --git a/tests/ValidatorFormatsTest.php b/tests/ValidatorFormatsTest.php index ffcd5a9..e4361a8 100644 --- a/tests/ValidatorFormatsTest.php +++ b/tests/ValidatorFormatsTest.php @@ -44,7 +44,10 @@ public function formatoCpf(): void public function formatoCnpj(): void { self::assertTrue($this->validatorFormats->execute('00.000.000/0000-00', 'cnpj')); + self::assertTrue($this->validatorFormats->execute('T6.JSP.XPS/0001-11', 'cnpj')); + self::assertTrue($this->validatorFormats->execute('t6.jsp.xps/0001-11', 'cnpj')); self::assertFalse($this->validatorFormats->execute('00000000000000', 'cnpj')); + self::assertFalse($this->validatorFormats->execute('T6.JSP.XPS/0001-1A', 'cnpj')); } /** @test */