From 4e06a19552c8d40cde1f1d13e9703579f8b33a90 Mon Sep 17 00:00:00 2001 From: "da@weeno.net" <> Date: Mon, 8 Nov 2010 18:08:11 +0000 Subject: [PATCH] =?UTF-8?q?Quelques=20v=C3=A9rifications=20par=20pays?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On pourrait avoir envie de factoriser ces règles avec des tableaux et des boucles, mais les conventions de numérotation de plein de pays sont tordues, parfois on garde le préfixe, parfois non, parfois il change, parfois il est optionnel, ... --- verifier/telephone.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/verifier/telephone.php b/verifier/telephone.php index caed0f3..82a6dfb 100644 --- a/verifier/telephone.php +++ b/verifier/telephone.php @@ -21,10 +21,24 @@ function verifier_telephone_dist($valeur, $options=array()){ $options['pays'] = 'FR'; $tel = preg_replace('/^\+33/','0',$valeur); } + if (preg_match("/^\+34/", $tel)) { + $options['pays'] = 'ES'; + $tel = preg_replace('/^\+34/','',$valeur); + } + if (preg_match("/^\+41/", $tel)) { + $options['pays'] = 'CH'; + $tel = preg_replace('/^\+41/','0',$valeur); + } switch($options['pays']){ + case 'CH': + if (!preg_match("/^0[1-9]{9}$/",$tel)) return $erreur; + break; + case 'ES': + if (!preg_match("/^[69][0-9]{8}$/",$tel)) return $erreur; + break; case 'FR': - if(!preg_match("/^0[0-9]{9}$/",$tel)) return $erreur; + if (!preg_match("/^0[1-9][0-9]{8}$/",$tel)) return $erreur; default: // On interdit les 000 etc. mais je pense qu'on peut faire plus malin // TODO finaliser les numéros à la con -- GitLab