Salut à tous !

je me demandais si l'algorithme de vérification d'un numéro de SIRET était faisable avec une regexp ?

voici l'animal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#  function EstSiretValide(siret) {
# var estValide;
# if ( (siret.length != 14) || (isNaN(siret)) )
# estValide = false;
# else {
# // Donc le SIRET est un numérique à 14 chiffres
# // Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
# // correspondent au numéro d'établissement
# // et enfin le dernier chiffre est une clef de LUHN.
# var somme = 0;
# var tmp;
# for (var cpt = 0; cpt<siret.length; cpt++) {
# if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc...
# tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
# if (tmp > 9)
# tmp -= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
# }
# else
# tmp = siret.charAt(cpt);
# somme += parseInt(tmp);
# }
# if ((somme % 10) == 0)
# estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
# else
# estValide = false;
# }
# return estValide;
# }
<!-- Vous l'aurez reconnu, c'est du javascript mais peu importe le langage c'est l'expression régulière qui m'interesse... -->

qu'en pensez vous ?

Merci