9) { $somme += (2*$valeur[$i])-9; } else { $somme += 2*$valeur[$i]; } $i+=2; } if ($somme % 10) { return $erreur; } } else { // Test de SIRET $erreur = _T('verifier:erreur_siret'); if (!is_string($valeur)) { return $erreur; } // Si pas 14 caractère, c'est déjà foiré ! if (!preg_match('/^[0-9]{14}$/', $valeur)) { return $erreur; } if (preg_match('/[0]{8}/', $valeur)) { return $erreur; } // Pour le SIRET on vérifie la clef de controle "1-2" avec les impaires *2 // (vs pairs*2 pour SIREN, parce qu'on part de la fin) $somme = 0; $i = 1; // Les paires while ($i < 14) { $somme += $valeur[$i]; $i+=2; } $i = 0; // Les impaires ! while ($i < 14) { if ((2*$valeur[$i])>9) { $somme += (2*$valeur[$i])-9; } else { $somme += 2*$valeur[$i]; } $i+=2; } if ($somme % 10) { return $erreur; } } return ''; }