4 if (!defined("_ECRIRE_INC_VERSION")) return;
7 * Vérifie un numéro de téléphone. Pour l'instant seulement avec le schéma français.
9 * @param string $valeur
10 * La valeur à vérifier.
11 * @param array $options
14 * Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur.
16 function verifier_telephone_dist($valeur, $options=array()){
17 $erreur = _T('verifier:erreur_telephone');
18 if (!is_string($valeur))
22 // On accepte differentes notations, les points, les tirets, les espaces, les slashes
23 $tel = preg_replace("#\.|/|-| #i",'',$valeur);
25 if (preg_match("/^\+33/", $tel)) {
26 $options['pays'] = 'FR';
27 $tel = preg_replace('/^\+33/','0',$valeur);
29 if (preg_match("/^\+34/", $tel)) {
30 $options['pays'] = 'ES';
31 $tel = preg_replace('/^\+34/','',$valeur);
33 if (preg_match("/^\+41/", $tel)) {
34 $options['pays'] = 'CH';
35 $tel = preg_replace('/^\+41/','0',$valeur);
38 switch($options['pays']){
40 if (!preg_match("/^0[1-9]{9}$/",$tel)) return $erreur;
43 if (!preg_match("/^[69][0-9]{8}$/",$tel)) return $erreur;
46 if (!preg_match("/^0[1-9][0-9]{8}$/",$tel)) return $erreur;
48 // On interdit les 000 etc. mais je pense qu'on peut faire plus malin
49 // TODO finaliser les numéros à la con
50 if($tel == '0000000000') return $erreur;