From 5f80a41627b848950b102dc1d5a84a39d81122f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=BB=20lugges=20=C2=AB?= Date: Wed, 3 Mar 2021 15:10:49 +0100 Subject: [PATCH 1/2] Added non-EU VAT-IDs In favour of #3 (Non EU vat numbers) --- src/Validator.php | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/Validator.php b/src/Validator.php index 0afe7f2..db37004 100644 --- a/src/Validator.php +++ b/src/Validator.php @@ -21,6 +21,7 @@ class Validator * @link http://ec.europa.eu/taxation_customs/vies/faq.html?locale=lt#item_11 */ private $patterns = array( + # VAT EU 'AT' => 'U[A-Z\d]{8}', 'BE' => '[0|1]{1}\d{9}', 'BG' => '\d{9,10}', @@ -50,7 +51,35 @@ class Validator 'RO' => '\d{2,10}', 'SE' => '\d{12}', 'SI' => '\d{8}', - 'SK' => '\d{10}' + 'SK' => '\d{10}', + + # VAT NON-EU + 'AL' => '[JKL]\d{8}[A-Z]', + 'MK' => '\d{13}', + 'AU' => '\d{11}', + 'УНП' => '\d{9}', + 'CA' => '.{9}', + 'IS' => '.{5,6}', + 'IN' => '\d{11}[VC]', + 'ID' => '\d{15}', + 'IL' => '\d{9}', + 'KZ' => '\d{12}', + 'MK' => '\d{13}', + 'MC' => '([A-Z0-9]{2})\d{9}', # Monaco no CC in Wikipedia. + 'NZ' => '\d{9}', + 'NG' => '\d{8}[-]{1}\d{4}', + 'PH' => '\d{12}', + 'RU' => '\d{10}', + 'SM' => '\d{5}', + 'SA' => '\d{15}', + 'RS' => '\d{9}', + 'TR' => '\d{10}', + 'UA' => '\d{12}', + + # VAT Latin America + 'AR' => '\d{11}', + 'BO' => '\d{7}', + ); /** From dbcffa06d2d2a74dd6099871d95bc5471d157c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=BB=20lugges=20=C2=AB?= Date: Wed, 3 Mar 2021 17:14:38 +0100 Subject: [PATCH 2/2] Update Validator.php --- src/Validator.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Validator.php b/src/Validator.php index db37004..5575ce6 100644 --- a/src/Validator.php +++ b/src/Validator.php @@ -25,7 +25,6 @@ class Validator 'AT' => 'U[A-Z\d]{8}', 'BE' => '[0|1]{1}\d{9}', 'BG' => '\d{9,10}', - 'CH' => 'E(-| ?)(\d{3}(\.)\d{3}(\.)\d{3}|\d{9})( ?)(MWST|TVA|IVA)', 'CY' => '\d{8}[A-Z]', 'CZ' => '\d{8,10}', 'DE' => '\d{9}', @@ -35,7 +34,6 @@ class Validator 'ES' => '[A-Z]\d{7}[A-Z]|\d{8}[A-Z]|[A-Z]\d{8}', 'FI' => '\d{8}', 'FR' => '([A-Z0-9]{2})\d{9}', - 'GB' => '\d{9}|\d{12}|(GD|HA)\d{3}', 'HR' => '\d{11}', 'HU' => '\d{8}', 'IE' => '[A-Z\d]{8}|[A-Z\d]{9}', @@ -54,6 +52,8 @@ class Validator 'SK' => '\d{10}', # VAT NON-EU + 'CH' => 'E(-| ?)(\d{3}(\.)\d{3}(\.)\d{3}|\d{9})( ?)(MWST|TVA|IVA)', + 'GB' => '\d{9}|\d{12}|(GD|HA)\d{3}', 'AL' => '[JKL]\d{8}[A-Z]', 'MK' => '\d{13}', 'AU' => '\d{11}', @@ -79,7 +79,12 @@ class Validator # VAT Latin America 'AR' => '\d{11}', 'BO' => '\d{7}', - + 'VE' => '[JGVE][-]{1}\d{9}', + 'UY' => '\d{12}', + 'DO' => '[145]{1}\d{8}', + 'PE' => '\d{11}', + 'PY' => '\d{6,8}', + 'EC' => '\d{13}' ); /**