Problème de validation de champs de formulaire

cs_CHABRY Messages postés 42 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 17 juillet 2007 - 6 avril 2005 à 21:16
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 - 7 avril 2005 à 02:11
Afin
de contrôler les champs de mon formulaire, j'ai inséré une fonction
qui teste caractère par caractère pour vérifier si un tel champs
contient de caractères interdits.

ça a marché avec les chiffres mais pas avec les symboles:
'+' '-'
'/' '('
')'. Pourquoi?



var s;

for(var i = 0; i < f[3].value.length; i++)

{



// le caractere est stocké dans s.

s = f[3].value.charAt(i);



// Caractères non valides :chiffres, parenthèses, "/", "-" et "+".

if( ((s >= 0) && (s <= 9))



{

alert('Le numéro postal ne peut comporter que des chiffres, '

+ ', parentheses, "/", "-" et "+".');

return(false);

}



}

2 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
6 avril 2005 à 23:03
To if vérifie seulement si le chiffre est entre 0 et 9 regarde comme il le faut. Aussi ton return est mal approprié car il arrête la fonction , donc la boucle va s'executé une seule fois.
0
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
7 avril 2005 à 02:11
Salut!

Pour éviter du code inutile, je te propose d'utiliser les expressions régulières.


if
(f
[3].value
.search
(/[^0-9\
/\
-\
+()]/)
!=
-1) {
alert
('Le numéro postal ne peut comporter que des chiffres
, '

+ '
, parentheses
,
"/",
"-" et
"+".'
);
return(false);

}

A+, Ghislain
0
Rejoignez-nous