diff --git a/src/Validator.php b/src/Validator.php index 0afe7f2..5575ce6 100644 --- a/src/Validator.php +++ b/src/Validator.php @@ -21,10 +21,10 @@ 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}', - '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}', @@ -34,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}', @@ -50,7 +49,42 @@ class Validator 'RO' => '\d{2,10}', 'SE' => '\d{12}', 'SI' => '\d{8}', - 'SK' => '\d{10}' + '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}', + 'УНП' => '\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}', + 'VE' => '[JGVE][-]{1}\d{9}', + 'UY' => '\d{12}', + 'DO' => '[145]{1}\d{8}', + 'PE' => '\d{11}', + 'PY' => '\d{6,8}', + 'EC' => '\d{13}' ); /**