respect-validation/data/postal-code.php
Alexandre Gomes Gaigalas d9cdc118b2 Introduce REUSE compliance
This commit introduces REUSE compliance by annotating all files
with SPDX information and placing the reused licences in the
LICENSES folder.

We additionally removed the docheader tool which is made obsolete
by this change.

The main LICENSE and copyright text of the project is now not under
my personal name anymore, and it belongs to "The Respect Project
Contributors" instead.

This change restores author names to several files, giving the
appropriate attribution for contributions.
2026-01-21 06:28:11 +00:00

717 lines
13 KiB
PHP

<?php declare(strict_types=1);
// SPDX-FileCopyrightText: (c) https://download.geonames.org/export/dump/countryInfo.txt
// SPDX-License-Identifier: CC-BY-4.0
return [
'AD' => [
'/^AD\d{3}$/',
'/^(?:AD)*(\d{3})$/',
],
'AE' => [
'/^\d{5} \d{5}$/',
'/^\d{5}-\d{5}$/',
],
'AI' => [
'/^AI-\d{4}$/',
'/^(?:AZ)*(\d{4})$/',
],
'AL' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'AM' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'AR' => [
'/^\w\d{4}\w{3}$/',
'/^[A-Z]?\d{4}[A-Z]{0,3}$/',
],
'AS' => [
'/^\d{5}-\d{4}$/',
'/96799/',
],
'AT' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'AU' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'AX' => [
'/^\d{5}$/',
'/^(?:FI)*(\d{5})$/',
],
'AZ' => [
'/^AZ \d{4}$/',
'/^(?:AZ )*(\d{4})$/',
],
'BA' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'BB' => [
'/^BB\d{5}$/',
'/^(?:BB)*(\d{5})$/',
],
'BD' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'BE' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'BG' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'BH' => [
'/^\d{4}|\d{3}$/',
'/^(\d{3}\d?)$/',
],
'BL' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'BM' => [
'/^\w{2} \d{2}$/',
'/^([A-Z]{2}\d{2})$/',
],
'BN' => [
'/^\w{2}\d{4}$/',
'/^([A-Z]{2}\d{4})$/',
],
'BR' => [
'/^\d{5}-\d{3}$/',
'/^\d{5}-\d{3}$/',
],
'BY' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'CA' => [
'/^\w\d\w \d\w\d$/',
'/^([ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ]) ?(\d[ABCEGHJKLMNPRSTVWXYZ]\d)$/',
],
'CC' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'CH' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'CL' => [
'/^\d{7}$/',
'/^(\d{7})$/',
],
'CN' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'CO' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'CR' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'CS' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'CU' => [
'/^CP \d{5}$/',
'/^(?:CP)*(\d{5})$/',
],
'CV' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'CX' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'CY' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'CZ' => [
'/^\d{3} \d{2}$/',
'/^\d{3}\s?\d{2}$/',
],
'DE' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'DK' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'DO' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'DZ' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'EC' => [
'/^\w\d{4}\w$/',
'/^([a-zA-Z]\d{4}[a-zA-Z])$/',
],
'EE' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'EG' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'ES' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'ET' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'FI' => [
'/^\d{5}$/',
'/^(?:FI)*(\d{5})$/',
],
'FK' => [
'/^FIQQ 1ZZ$/',
'/FIQQ 1ZZ/',
],
'FM' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'FO' => [
'/^\d{3}$/',
'/^(?:FO)*(\d{3})$/',
],
'FR' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'GB' => [
'/^\w\d \d\w{2}|\w\d{2} \d\w{2}|\w{2}\d \d\w{2}|\w{2}\d{2} \d\w{2}|\w\d\w \d\w{2}|\w{2}\d\w \d\w{2}|GIR0AA$/',
'/^([Gg][Ii][Rr]\s?0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))\s?[0-9][A-Za-z]{2})$/',
],
'GE' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'GF' => [
'/^\d{5}$/',
'/^((97|98)3\d{2})$/',
],
'GG' => [
'/^\w\d \d\w{2}|\w\d{2} \d\w{2}|\w{2}\d \d\w{2}|\w{2}\d{2} \d\w{2}|\w\d\w \d\w{2}|\w{2}\d\w \d\w{2}|GIR0AA$/',
'/^((?:(?:[A-PR-UWYZ][A-HK-Y]\d[ABEHMNPRV-Y0-9]|[A-PR-UWYZ]\d[A-HJKPS-UW0-9])\s\d[ABD-HJLNP-UW-Z]{2})|GIR\s?0AA)$/',
],
'GI' => [
'/^GX11 1AA$/',
'/GX11 1AA/',
],
'GL' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'GP' => [
'/^\d{5}$/',
'/^((97|98)\d{3})$/',
],
'GR' => [
'/^\d{3} \d{2}$/',
'/^(\d{5})$/',
],
'GS' => [
'/^SIQQ 1ZZ$/',
'/SIQQ 1ZZ/',
],
'GT' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'GU' => [
'/^969\d{2}$/',
'/^(969\d{2})$/',
],
'GW' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'HK' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'HM' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'HN' => [
'/^\d{5}$/',
'/^(\d{6})$/',
],
'HR' => [
'/^\d{5}$/',
'/^(?:HR)*(\d{5})$/',
],
'HT' => [
'/^HT\d{4}$/',
'/^(?:HT)*(\d{4})$/',
],
'HU' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'ID' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'IE' => [
'/^\w{3} \w{4}$/',
'/^(D6W|[AC-FHKNPRTV-Y][0-9]{2})\s?([AC-FHKNPRTV-Y0-9]{4})/',
],
'IL' => [
'/^\d{7}$/',
'/^(\d{7}|\d{5})$/',
],
'IM' => [
'/^\w\d \d\w{2}|\w\d{2} \d\w{2}|\w{2}\d \d\w{2}|\w{2}\d{2} \d\w{2}|\w\d\w \d\w{2}|\w{2}\d\w \d\w{2}|GIR0AA$/',
'/^((?:(?:[A-PR-UWYZ][A-HK-Y]\d[ABEHMNPRV-Y0-9]|[A-PR-UWYZ]\d[A-HJKPS-UW0-9])\s\d[ABD-HJLNP-UW-Z]{2})|GIR\s?0AA)$/',
],
'IN' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'IO' => [
'/^BBND 1ZZ$/',
'/BBND 1ZZ/',
],
'IQ' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'IR' => [
'/^\d{10}$/',
'/^(\d{10})$/',
],
'IS' => [
'/^\d{3}$/',
'/^(\d{3})$/',
],
'IT' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'JE' => [
'/^\w\d \d\w{2}|\w\d{2} \d\w{2}|\w{2}\d \d\w{2}|\w{2}\d{2} \d\w{2}|\w\d\w \d\w{2}|\w{2}\d\w \d\w{2}|GIR0AA$/',
'/^((?:(?:[A-PR-UWYZ][A-HK-Y]\d[ABEHMNPRV-Y0-9]|[A-PR-UWYZ]\d[A-HJKPS-UW0-9])\s\d[ABD-HJLNP-UW-Z]{2})|GIR\s?0AA)$/',
],
'JO' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'JP' => [
'/^\d{3}-\d{4}$/',
'/^\d{3}-\d{4}$/',
],
'KE' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'KG' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'KH' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'KP' => [
'/^\d{3}-\d{3}$/',
'/^(\d{6})$/',
],
'KR' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'KW' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'KZ' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'LA' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'LB' => [
'/^\d{4} \d{4}|\d{4}$/',
'/^(\d{4}(\d{4})?)$/',
],
'LI' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'LK' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'LR' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'LS' => [
'/^\d{3}$/',
'/^(\d{3})$/',
],
'LT' => [
'/^LT-\d{5}$/',
'/^(?:LT)*(\d{5})$/',
],
'LU' => [
'/^L-\d{4}$/',
'/^(?:L-)?\d{4}$/',
],
'LV' => [
'/^LV-\d{4}$/',
'/^(?:LV)*(\d{4})$/',
],
'MA' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MC' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MD' => [
'/^MD-\d{4}$/',
'/^MD-\d{4}$/',
],
'ME' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MF' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MG' => [
'/^\d{3}$/',
'/^(\d{3})$/',
],
'MH' => [
'/^\d{5}-\d{4}$/',
'/^969\d{2}(-\d{4})$/',
],
'MK' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'MM' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MN' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'MO' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'MP' => [
'/^\d{5}$/',
'/^9695\d{1}$/',
],
'MQ' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MT' => [
'/^\w{3} \d{4}$/',
'/^[A-Z]{3}\s?\d{4}$/',
],
'MV' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MW' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'MX' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MY' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'MZ' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'NC' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'NE' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'NF' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'NG' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'NI' => [
'/^\d{3}-\d{3}-\d$/',
'/^(\d{7})$/',
],
'NL' => [
'/^\d{4} \w{2}$/',
'/^(\d{4}\s?[a-zA-Z]{2})$/',
],
'NO' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'NP' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'NR' => [
'/^NRU68$/',
'/NRU68/',
],
'NU' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'NZ' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'OM' => [
'/^\d{3}$/',
'/^(\d{3})$/',
],
'PA' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'PE' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'PF' => [
'/^\d{5}$/',
'/^((97|98)7\d{2})$/',
],
'PG' => [
'/^\d{3}$/',
'/^(\d{3})$/',
],
'PH' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'PK' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'PL' => [
'/^\d{2}-\d{3}$/',
'/^\d{2}-\d{3}$/',
],
'PM' => [
'/^\d{5}$/',
'/^(97500)$/',
],
'PN' => [
'/^PCRN 1ZZ$/',
'/PCRN 1ZZ/',
],
'PR' => [
'/^\d{5}-\d{4}$/',
'/^00[679]\d{2}(?:-\d{4})?$/',
],
'PT' => [
'/^\d{4}-\d{3}$/',
'/^\d{4}-\d{3}\s?[a-zA-Z]{0,25}$/',
],
'PW' => [
'/^96940$/',
'/^(96940)$/',
],
'PY' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'RE' => [
'/^\d{5}$/',
'/^((97|98)(4|7|8)\d{2})$/',
],
'RO' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'RS' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'RU' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'SA' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'SD' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'SE' => [
'/^\d{3} \d{2}$/',
'/^(?:SE)?\d{3}\s\d{2}$/',
],
'SG' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'SH' => [
'/^STHL 1ZZ$/',
'/^(STHL1ZZ)$/',
],
'SI' => [
'/^\d{4}$/',
'/^(?:SI)*(\d{4})$/',
],
'SJ' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'SK' => [
'/^\d{3} \d{2}$/',
'/^\d{3}\s?\d{2}$/',
],
'SM' => [
'/^4789\d$/',
'/^(4789\d)$/',
],
'SN' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'SO' => [
'/^\w{2} \d{5}$/',
'/^([A-Z]{2}\d{5})$/',
],
'SV' => [
'/^CP \d{4}$/',
'/^(?:CP)*(\d{4})$/',
],
'SZ' => [
'/^\w\d{3}$/',
'/^([A-Z]\d{3})$/',
],
'TC' => [
'/^TKCA 1ZZ$/',
'/^(TKCA 1ZZ)$/',
],
'TD' => [
'/^TKCA 1ZZ$/',
'/^(TKCA 1ZZ)$/',
],
'TH' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'TJ' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'TM' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'TN' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'TR' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'TW' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'UA' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'US' => [
'/^\d{5}-\d{4}$/',
'/^\d{5}(-\d{4})?$/',
],
'UY' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'UZ' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'VA' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'VE' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'VI' => [
'/^\d{5}-\d{4}$/',
'/^008\d{2}(?:-\d{4})?$/',
],
'VN' => [
'/^\d{6}$/',
'/^(\d{6})$/',
],
'WF' => [
'/^\d{5}$/',
'/^(986\d{2})$/',
],
'WS' => [
'/^AS 96799$/',
'/AS 96799/',
],
'YT' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
'ZA' => [
'/^\d{4}$/',
'/^(\d{4})$/',
],
'ZM' => [
'/^\d{5}$/',
'/^(\d{5})$/',
],
];