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 :
<!-- Vous l'aurez reconnu, c'est du javascript mais peu importe le langage c'est l'expression régulière qui m'interesse... -->
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; # }
qu'en pensez vous ?
Merci
Partager