From ece2a85e6f9a46112a30e3205ac6f8eae1747e5d Mon Sep 17 00:00:00 2001 From: Henrique Volponi <141272629+Henrique-volponi@users.noreply.github.com> Date: Tue, 17 Mar 2026 20:22:03 -0300 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=90=9B=20update=20Mercosul=20regex=20?= =?UTF-8?q?to=20support=20additional=20format?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/is-valid-license-plate/is-valid-license-plate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/is-valid-license-plate/is-valid-license-plate.ts b/src/is-valid-license-plate/is-valid-license-plate.ts index 80334f9..bdb77bc 100644 --- a/src/is-valid-license-plate/is-valid-license-plate.ts +++ b/src/is-valid-license-plate/is-valid-license-plate.ts @@ -1,4 +1,4 @@ -const mercosulRegex = /^[a-z]{3}[0-9]{1}[a-z]{1}[0-9]{2}$/i; +const mercosulRegex = /^[a-z]{3}[0-9]{1}[a-z]{1}[0-9]{2}$|^[a-z]{3}[0-9]{2}[a-z]{1}[0-9]{1}$/i; const brazilianLicensePlateRegex = /^[a-z]{3}-?[0-9]{4}$/i; From 19c9f8adaa13f09e8acb776b1a7ff825be0be024 Mon Sep 17 00:00:00 2001 From: Henrique Volponi <141272629+Henrique-volponi@users.noreply.github.com> Date: Tue, 17 Mar 2026 20:22:37 -0300 Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=85=20Adicione=20suporte=20para=20for?= =?UTF-8?q?matos=20de=20placas=20de=20moto=20Mercosul=20nos=20testes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../is-valid-license-plate.test.ts | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/is-valid-license-plate/is-valid-license-plate.test.ts b/src/is-valid-license-plate/is-valid-license-plate.test.ts index aaf43cb..dbed518 100644 --- a/src/is-valid-license-plate/is-valid-license-plate.test.ts +++ b/src/is-valid-license-plate/is-valid-license-plate.test.ts @@ -42,17 +42,22 @@ describe("isValidLicensePlate", () => { }); }); - describe("should return true", () => { - it("when brazilian license plate format is valid", () => { - expect(isValidLicensePlate("abc1234")).toBe(true); - expect(isValidLicensePlate("ABC1234")).toBe(true); - expect(isValidLicensePlate("abc-1234")).toBe(true); - expect(isValidLicensePlate("ABC-1234")).toBe(true); - }); - - it("when mercosul license plate format is valid", () => { - expect(isValidLicensePlate("abc1d23")).toBe(true); - expect(isValidLicensePlate("ABC1D23")).toBe(true); + describe("should return true", () => { + it("when brazilian license plate format is valid", () => { + expect(isValidLicensePlate("abc1234")).toBe(true); + expect(isValidLicensePlate("ABC1234")).toBe(true); + expect(isValidLicensePlate("abc-1234")).toBe(true); + expect(isValidLicensePlate("ABC-1234")).toBe(true); + }); + + it("when mercosul license plate format is valid", () => { + // Placas de Carro Mercosul (Letra na 5ª posição) + expect(isValidLicensePlate("abc1d23")).toBe(true); + expect(isValidLicensePlate("ABC1D23")).toBe(true); + + // Placas de Moto Mercosul (Letra na 6ª posição) - ADICIONE ESTAS LINHAS: + expect(isValidLicensePlate("ABC12D3")).toBe(true); + expect(isValidLicensePlate("abc12d3")).toBe(true); }); }); });