respect-validation/library/Rules/Locale/FrSubdivisionCode.php
2018-05-19 16:46:58 +02:00

162 lines
5.3 KiB
PHP

<?php
/*
* This file is part of Respect/Validation.
*
* (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
*
* For the full copyright and license information, please view the "LICENSE.md"
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Respect\Validation\Rules\Locale;
use Respect\Validation\Rules\AbstractSearcher;
/**
* Validates whether an input is subdivision code of France or not.
*
* ISO 3166-1 alpha-2: FR
*
* @see http://www.geonames.org/FR/administrative-division-france.html
*
* @author Henrique Moody <henriquemoody@gmail.com>
*/
final class FrSubdivisionCode extends AbstractSearcher
{
/**
* {@inheritdoc}
*/
protected function getDataSource(): array
{
return [
'ARA', // Auvergne-Rhône-Alpes
'BFC', // Bourgogne-Franche-Comté
'BRE', // Bretagne
'CVL', // Centre-Val de Loire
'COR', // Corse
'GES', // Grand Est
'GUA', // Guadeloupe
'HDF', // Hauts-de-France
'IDF', // Île-de-France
'MAY', // Mayotte
'NOR', // Normandie
'NAQ', // Nouvelle-Aquitaine
'OCC', // Occitanie
'PDL', // Pays de la Loire
'PAC', // Provence-Alpes-Côte d'Azur
'LRE', // La Réunion
'01', // Ain
'02', // Aisne
'03', // Allier
'04', // Alpes-de-Haute-Provence
'05', // Hautes-Alpes
'06', // Alpes-Maritimes
'07', // Ardèche
'08', // Ardennes
'09', // Ariège
'10', // Aube
'11', // Aude
'12', // Aveyron
'13', // Bouches-du-Rhône
'14', // Calvados
'15', // Cantal
'16', // Charente
'17', // Charente-Maritime
'18', // Cher
'19', // Corrèze
'21', // Côte-d'Or
'22', // Côtes-d'Armor
'23', // Creuse
'24', // Dordogne
'25', // Doubs
'26', // Drôme
'27', // Eure
'28', // Eure-et-Loir
'29', // Finistère
'2A', // Corse-du-Sud
'2B', // Haute-Corse
'30', // Gard
'31', // Haute-Garonne
'32', // Gers
'33', // Gironde
'34', // Hérault
'35', // Ille-et-Vilaine
'36', // Indre
'37', // Indre-et-Loire
'38', // Isère
'39', // Jura
'40', // Landes
'41', // Loir-et-Cher
'42', // Loire
'43', // Haute-Loire
'44', // Loire-Atlantique
'45', // Loiret
'46', // Lot
'47', // Lot-et-Garonne
'48', // Lozère
'49', // Maine-et-Loire
'50', // Manche
'51', // Marne
'52', // Haute-Marne
'53', // Mayenne
'54', // Meurthe-et-Moselle
'55', // Meuse
'56', // Morbihan
'57', // Moselle
'58', // Nièvre
'59', // Nord
'60', // Oise
'61', // Orne
'62', // Pas-de-Calais
'63', // Puy-de-Dôme
'64', // Pyrénées-Atlantiques
'65', // Hautes-Pyrénées
'66', // Pyrénées-Orientales
'67', // Bas-Rhin
'68', // Haut-Rhin
'69', // Rhône
'70', // Haute-Saône
'71', // Saône-et-Loire
'72', // Sarthe
'73', // Savoie
'74', // Haute-Savoie
'75', // Paris
'76', // Seine-Maritime
'77', // Seine-et-Marne
'78', // Yvelines
'79', // Deux-Sèvres
'80', // Somme
'81', // Tarn
'82', // Tarn-et-Garonne
'83', // Var
'84', // Vaucluse
'85', // Vendée
'86', // Vienne
'87', // Haute-Vienne
'88', // Vosges
'89', // Yonne
'90', // Territoire de Belfort
'91', // Essonne
'92', // Hauts-de-Seine
'93', // Seine-Saint-Denis
'94', // Val-de-Marne
'95', // Val-d'Oise
'BL', // Saint Barthélemy (see also separate ISO 3166-1 entry under BL)
'CP', // Clipperton
'GF', // Guyane (française) (see also separate country code entry under GF)
'GP', // Guadeloupe (see also separate country code entry under GP)
'MF', // Saint Martin (see also separate ISO 3166-1 entry under MF)
'MQ', // Martinique (see also separate country code entry under MQ)
'NC', // Nouvelle-Calédonie (see also separate ISO 3166-1 entry under NC)
'PF', // Polynésie française (see also separate ISO 3166-1 entry under PF)
'PM', // Saint-Pierre-et-Miquelon (see also separate ISO 3166-1 entry under PM)
'RE', // La Réunion (see also separate country code entry under RE)
'TF', // Terres Australes Françaises (see also separate ISO 3166-1 entry under TF)
'WF', // Wallis et Futuna (see also separate ISO 3166-1 entry under WF)
'YT', // Mayotte (see also separate ISO 3166-1 entry under YT)
];
}
}