Javascript autoriser que certain caractere

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Javascript autoriser que certain caractere

Re: Javascript autoriser que certain caractere

par guigui69 » 22 oct. 2009, 14:10

Merci pour votre réponse,

comment je pourrait mettre ca en place car le but c'est que dans les 2 champs (client et produit)je n'ai que des numéros.

guigui69

Re: Javascript autoriser que certain caractere

par zeus » 22 oct. 2009, 12:00

Le mieux est de vérifier le contenu de l'élément textarea au moment de la validation du formulaire, plutôt qu'au fil de la saisie.
Dans l'idée, je suis d'accord avec Victor, à savoir qu'une vérification Javascript se contourne facilement (même quelques fois sans intention de le faire, si le javascript est désactivé, pour des raisons X ou Y), et que si elle apporte un confort appréciable (l'utilisateur est informé en temps réel de ce qui ne va pas), il n'en reste pas moins qu'une validation PHP est obligatoire pour la sécurité de ton applicatif

Re: Javascript autoriser que certain caractere

par Victor BRITO » 22 oct. 2009, 10:18

Le mieux est de vérifier le contenu de l'élément textarea au moment de la validation du formulaire, plutôt qu'au fil de la saisie.

Re: Javascript autoriser que certain caractere

par guigui69 » 22 oct. 2009, 09:46

j'avance,

J'ai trouver ce code:

Code : Tout sélectionner

function ejs_code_clavier(keyStroke) { ejs_code_eventChooser = (!document.all) ? keyStroke.which : event.keyCode; ejs_code_which = String.fromCharCode(ejs_code_eventChooser).toLowerCase(); alert('Vous avez appuyé sur la touche '+ejs_code_which); var regexp = /[-0-9]+/; var test = (regexp.test (ejs_code_which))? true: false; // Vaut false } document.onkeypress = ejs_code_clavier;
Le problème il me détecte 2 touches. exemple quand j'appuie sur le 1 il me met en alert le "1" puis le second alert le "&".
Quel erreur est-je commis?

Merci guigui69

Re: Javascript autoriser que certain caractere

par guigui69 » 21 oct. 2009, 22:34

d'accord,

donc avec ca il regarder chaque caractère que je tape (onkeydown) si il fait partie de la liste il ne l'inscrit pas.

c'est bien ca?

guigui69

Re: Javascript autoriser que certain caractere

par Victor BRITO » 21 oct. 2009, 22:13

Une piste : utiliser une expression rationnelle.

Code : Tout sélectionner

var regexp = /[-0-9]+/;
Il suffit ensuite de tester le contenu de textarea, grâce à la méthode test ().

Code : Tout sélectionner

var textarea = 'lorem ipsum dolor sit amet'; var test = (regexp.test (textarea))? true: false; // Vaut false

Javascript autoriser que certain caractere

par guigui69 » 21 oct. 2009, 20:47

Bonjour à tous,


j'ai un champ textarea et je voudrait autoriser uniquement que les 1234567890 et les "-"

Code : Tout sélectionner

function IntegerOnly (evt) { evt = (evt) ? evt : ((event) ? event : null); var code = evt.keyCode; // Si la touche pressée n'appartient pas aux chiffres 1 à 9 // et que ce n'est ni la touche backspace, ni la touche TAB, ni l'une des flèches gauche/droite, ni la touche DEL, // alors: annule la frappe. if ((code < 48 || code > 57) && (code != 38)) { evt.returnValue = false; // méthode pour MSIE, marche aussi avec Safari, ignorée par Firefox (aucun problème) evt.preventDefault(); // méthode pour Firefox (marche aussi avec Safari) // Manque une méthode pour Netscape (7.0) et Opera (7.0) } }
j'ai trouver ceci comme code, mais le problème par exemple je suis sur un portable la touche 1 à comme affectation aussi "&".

Avec le code ci-dessus, si j'essai azertyu.etc... ça semble marcher, mais par contre si j'appuie sur le 1 sans être en majuscule (donc &) le & s'affiche dans le champ.

Comment résoudre ce problème ?

Merci

guigui69