Javascript - Prob d'exécution d'un "else".

Signaler
Messages postés
33
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
22 juillet 2008
-
Messages postés
33
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
22 juillet 2008
-
Ce script teste 11 caractéres un par un et vérifie que celui-ci ne correspond pas aux caractéres spéciaux rentrés dans un tableau.
Et s'il trouve une égalité entre un caractére du tableau et un des caractéres de la clé ( ici "key") lance une alerte.

var key=["A","Z","E","R","T","Y","U","I","O","P","Q"];

//Vérification que la clé ne comporte que des lettres ou des chiffres.
function lettrechiffre()
{
var symbols=new Array("²","&","é","~",""","#","\'","{","(","[","-","|","è","`","_","\","ç","^","à","@",")","]","°","=","+","}","s","$","£","?","ù","%","*","µ","<",">",",","?",";","/",":","!","§",".");
var i, j, compteur=0;
alert("Début de lettrechiffre() - Key = "+key);
for(i=0; i<=11; i++)
{
compteur+=1;
alert(i+"=i Boucle de la clé. Passage n°="+compteur);
if(i==8)
{alert("Point :(8)");}
else
{
for(j=0; symbols[j]<=45; j++)
{alert("Boucle des symbols.");
if(symbols[j]==key[i])
{
alert("Votre clé contient un caractére invalide.");
alert(symbols[j]+" :Symbol. Clé: "+key[i]);
}
}
}
}
}

Mon probléme est qu'arrivé à :
"else
{
for(j=0; symbols[j]<=45; j++)
..........
"
Il ne l'exécute pas...
Donc si quelqu'un de Doué pourrait m'expliquer pourquoi ca Merde se serait sympa.

Bonne journée à tous et merci pour ceux qui essayent de m'aider.

The Artiste-Gunm

2 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour
Vérification que la clé ne comporte que des lettres ou des chiffres. est-ce là le but ?
si oui : il serait "plus simple" de tester si les caractères
sont autorisés plutôt qu'interdits, et c'est une application
typique pour une "expression régulière" [ qui peut
sembler délicate au début, mais c'est très pratique ]
exemple ?

<script type="text/javascript">
function ctr(zone)
{ if (zone.match(/[^a-zA-Z0-9]/))
           alert ("faux");
      else alert ("bon");   }
</script>


teste donc si les caractères saisis dans la zone,
ne sont bien que des lettres ou des chiffres.
Cordialement. Bul.
Messages postés
33
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
22 juillet 2008

Merci pour le tuyau c'est sympa et plus facile que de faire un tableaux avec tout les caractéres spéciaux...

The Artiste-Gunm >:)