diff --git a/paquet.xml b/paquet.xml index ab03432caca1330885e460ef4646cf879c63c47f..d2355dcbe92865fffe640f491df8049606ce7ac3 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ <paquet prefix="verifier" categorie="outil" - version="0.1.17" + version="0.1.18" etat="test" compatibilite="[2.0.10;3.0.*]" logo="images/verifier-128.png" diff --git a/plugin.xml b/plugin.xml index 8ea4a51f3e0f94eab0ce971f31e0843189c3a340..5cced23103b1aa529d84e47f4e0103629d3b7aa7 100644 --- a/plugin.xml +++ b/plugin.xml @@ -9,7 +9,7 @@ <auteur>[Les Développements Durables->http://www.ldd.fr]</auteur> <icon>images/verifier-128.png</icon> <licence>GPL v3</licence> - <version>0.1.17</version> + <version>0.1.18</version> <etat>test</etat> <description> <multi> diff --git a/verifier/code_postal.php b/verifier/code_postal.php index c9f6153147c476ee5ecfcc569ed93d1d60a4e351..90705cf04ebfffcdf8e9e96f8a3b5ea3dc7f9c7b 100644 --- a/verifier/code_postal.php +++ b/verifier/code_postal.php @@ -7,7 +7,13 @@ if (!defined("_ECRIRE_INC_VERSION")) return; * Un code postal francais est compose de 5 chiffres * http://fr.wikipedia.org/wiki/Code_postal_en_France * a completer pour d'autre pays - * + * + * cf : http://fr.wikipedia.org/wiki/Codes_postaux + * + * La regexp par défaut doit valider toutes les possibilités + * -* combinaisons de chiffres et de lettres et aussi tiret + * -* notations internationales cf : http://en.wikipedia.org/wiki/List_of_postal_codes#On_the_use_of_country_codes + * * @param string $valeur * La valeur à vérifier. * @param array $options @@ -23,10 +29,34 @@ function verifier_code_postal_dist($valeur, $options=array()){ $ok = ''; switch ($options['pays']){ case 'FR': - default: if (!preg_match(",^((0[1-9])|([1-8][0-9])|(9[0-8]))[0-9]{3}$,", $valeur)) return $erreur; break; + case 'DZ':// Algérie + case 'DE':// Allemagne + case 'BY':// Bielorussie + case 'BA':// Bosnie Herzégovine + case 'HR':// Croatie + case 'ES':// Espagne + case 'FI':// Finlande + case 'GT':// Guatemala + case 'IT':// Italie + case 'LT':// Lituanie + case 'MY':// Malaisie + case 'MA':// Maroc + case 'MX':// Mexique + case 'ME':// Montenegro + case 'LK':// Sri lanka + case 'MX':// Mexique + case 'UA':// Ukraine + // 5 chiffres + if (!preg_match(",^[0-9]{5}$,", $valeur)) + return $erreur; + break; + default: + if (!preg_match('/^[A-Z]{1,2}[-|\s][0-9]{3,6}$|^[0-9]{3,6}$|^[0-9|A-Z]{2,5}[-|\s][0-9|A-Z]{2,4}$|^[A-Z]{1,2} [0-9|A-Z]{2,5}[-|\s][0-9|A-Z]{2,4}/i',$valeur)) + return $erreur; + break; } return $ok;