Verifier un champ et interdire des caracteres

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 367 fois - Téléchargée 28 fois

Contenu du snippet

simple en apparence, mais pour trouver un bon code de verification de formulaire qui permette d'interdire des caracteres...bonjour la galere, alors apres 1h de bataille j'ai mi ca au point alors profitez en! :-))

Source / Exemple :


<script language="javascript">
function Verif()
{
rejet = false;//variable qui nous pemettra de valider ou pas le formulaire
falsechar="";//variable qui stockera les caracteres non valides trouvés
var non = new Array("/","'","\"","\\");//tableau des caracteres non valides, vous pouvez les modifier

//----début de la boucle qui verifie un a un chaque caractere saisi dans le champ
for (i=0 ; i <= MonFormulaire.MonChamp.value.length ; i++)
{
//----début de la boucle qui fait défiler les elements du tableau 'non' un a un pour les comparer aux caracteres du champ
for (y=0 ; y <= non.length ; y++)
{
//----debut de la condition (si le caractere i du champ correspond a la valeur y du tableau...)
if ((MonFormulaire.MonChamp.value.charAt(i)==non[y]))
{
rejet=true;//si un seul caractere invalide est trouvé l'envoi est arreté
//----enregistrement des caracteres invalides dans la variable falsechar
if (falsechar=="")
{
falsechar= non[y];
}else{
falsechar= falsechar+","+non[y];
}
//---fin enregistrement des caracteres invalides
}
//---fin de la condition de comparaison des elements saisi-tableau
}
//---fin de la boucle "éléments du tableau"
}
//---fin de la boucle "caracteres saisis"

//-----si des caracteres invalides sont trouvés...
if (rejet==true)
{
//---affichage de l'alerte
if (falsechar.length==1){alert(falsechar+" is an non authorised char ");}else{alert(falsechar+" are non authorised chars ");}
return (false);
//----si les caracteres sont valides....
}else{
formulaire.submit();
return (true);
}
}
</script>

Conclusion :


executez la foncion par <form... onSubmit="return(Verif())">
bonne utilisation!

A voir également

Ajouter un commentaire

Commentaires

Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
1
pour la redirection tu fais
header("location: /tapage.php");
Et pour traiter les differents cas de redirection il faut que tu renvoies depuis ton formulaire sur la page courante, car ton traitement PHP se fait generalement en haut de page.
Et pour les variables si elles ne passent plus en POST passe les en SESSION.

Et la source en haut ne marche pas. Et quand elle marche, elel affiche juste uen erreur et on continue a naviguer quand meme.
Messages postés
105
Date d'inscription
lundi 16 février 2004
Statut
Membre
Dernière intervention
28 août 2005

lu désolé je connai juste un minimum en php sorai ete en javascript jorai pu taider mai la non dsl @++
Messages postés
6
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
26 mars 2006

Bonjour,
Comment faire ensuite pour rediriger vers la page qui traite le formulaire ?
J'imagine que ce n'est pas directement possible (les variables ne passe plus en POST...)

J'ai fait ceci
(...)
else{ // Le champ est valide, traitement du formulaire
$_SESSION['session_qt']=$_POST['qt'];
$_SESSION['session_idp']=$_POST['idp'];
<META http-equiv="refresh"; Content="0;URL='ajout.php'">
return;

Ou la page ajout traiterait les variables de sessions dans lesquelles j'ai été mettre les champs du formulaire...
Si vous pouviez m'aider, merci d'avance...
Messages postés
9
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
15 février 2007

re
et pour les commentaires redesolé pour les #, j'avais mis des // puis ca sortait tout en rouge une fois sur le site alors j'ai voulu essayer autre chosee... je modifie...
Messages postés
9
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
15 février 2007

desole ce que j'ai oublie c'est qu'il faut executer le script par un <form onSubmit="return(Verif())"> si vous l'executer au niveau du bouton a savoir ca marche pas... a + et merci pour la remarque! ;-)
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.