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;