From 11ef712d6d1a01c190dc6fbebcc81880664809bd Mon Sep 17 00:00:00 2001
From: Turbo
Date: Thu, 7 Oct 2021 08:55:10 +0700
Subject: [PATCH] fix: fr and es shouldn't allow > 5 digits zip code
---
src/ZipCode/Validator.php | 4 ++--
tests/unit/ZipCodeTest.php | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/ZipCode/Validator.php b/src/ZipCode/Validator.php
index 6ef8402..e8b3e22 100644
--- a/src/ZipCode/Validator.php
+++ b/src/ZipCode/Validator.php
@@ -62,9 +62,9 @@ class Validator
'DEFAULT' => '[0-9A-Z\-]{1,10}',
'DK' => '\\d{4}',
'EE' => '[1-9]{1}[0-9]{4}',
- 'ES' => '(AD{0,1}\\d{3})|\\d{5}',
+ 'ES' => '(AD{0,1}\\d{3})|^\\d{5}',
'FI' => '\\d{5}',
- 'FR' => '(AD{0,1}\\d{3})|\\d{5}',
+ 'FR' => '(AD{0,1}\\d{3})|^\\d{5}',
'GB' => '[A-Z\\d]{2,4}\\s\\d[A-Z]{2}',
'GR' => '[1-9]{1}[0-9]{4}',
'HR' => '[0-9]{5}',
diff --git a/tests/unit/ZipCodeTest.php b/tests/unit/ZipCodeTest.php
index a7e3937..9f30eee 100644
--- a/tests/unit/ZipCodeTest.php
+++ b/tests/unit/ZipCodeTest.php
@@ -15,6 +15,8 @@ public function testIsValid()
$this->assertFalse(Validator::isValid('01234', 'RO'), 'RO');
$this->assertFalse(Validator::isValid('20207 MLINI', 'HR'), 'HR');
$this->assertFalse(Validator::isValid('12345678901', 'US'));
+ $this->assertFalse(Validator::isValid('080024', 'ES'));
+ $this->assertFalse(Validator::isValid('080024', 'FR'));
$this->assertTrue(Validator::isValid('123456', 'RO'), 'RO');
$this->assertTrue(Validator::isValid('01234', 'FR'), 'FR');
@@ -25,6 +27,8 @@ public function testIsValid()
$this->assertTrue(Validator::isValid('LV-1111', 'LV'));
$this->assertTrue(Validator::isValid('1111', 'LV'));
$this->assertTrue(Validator::isValid('06093-2227', 'US'));
+ $this->assertTrue(Validator::isValid('08002', 'ES'));
+ $this->assertTrue(Validator::isValid('08002', 'FR'));
$noPostCodeCountries = ['AE', 'AU', 'BA', 'CO', 'QA'];
foreach ($noPostCodeCountries as $country) {