C'est une question intéressante, dont je n'ai pas la solution complète, mais comme je vois que personne n'y répond, je vais exposer ma solution partielle.
Examinons if(!/^\d{9}$/.test(l[i].join("" )){
Point exclamation du début = not
c-à-d if (!toto) équivalent à if (toto==true)
Barres obliques entourent l'expression
/blabla/ = "blabla"
L'accent circonflexe indique que l'on cherche à partir du début d'une ligne
Antislah d désigne un chiffre, \d est équivalent à [0-9]
Les accolades entourent un nombre de répetition
\d{9} = 9 chiffres
Le dollar indique qu'il faut que ce soit à la fin de la chaine
En résumant, la condition est vraie si on a une ligne qui contient 9 chiffres et rien d'autre.
Ce que que je ne comprends, c'est la suite de l'expression .test(l[i].join("" )){
Pour l'autre expression
alert(l.join().replace(/,/g,"".replace(/(\d{9})/g,"$1\n" )
je crois voir que l'on remplace 9 chiffres par le paramètre $1, mais je ne comprends pas le reste.
Message édité par olivthill le 14-04-2006 à 16:47:58