AIDE Javascript - HTML/CSS - Programmation
Marsh Posté le 14-04-2006 à 16:45:14
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.
Marsh Posté le 14-04-2006 à 18:20:15
je te remercie bien , c'est parceque je voulai retranscrire sa en java pr une appli de sudoku merci
Marsh Posté le 14-04-2006 à 19:29:29
alert(l.join().replace(/,/g,"" ).replace(/(\d{9})/g,"$1\n" ))
-> transforme l'array ``l``, concatène ses éléments bout à bout, retire les virgules ``,``, garde uniquement les chiffres.
Au final tu as une chaîne composée uniquement des chiffres qui étaient dans le tableau ``l``.
La première expression teste si le contenu du tableau l est composé uniquement de chiffres.
Marsh Posté le 14-04-2006 à 14:54:47
Je voudrai savoir ce que fait cette expression javascript svp!
if(!/^\d{9}$/.test(l[i].join("" ))){
if(tour<20){
tour++
}
Ainsi que cela :
if(zon[8].length==9){
alert(l.join().replace(/,/g,"" ).replace(/(\d{9})/g,"$1\n" ))
}
Merci d'avance