Petit probleme avec script verife de mot de passe

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 : Petit probleme avec script verife de mot de passe

par consequences » 29 avr. 2009, 13:08

dailleurs oui tu mis fait penser voila le script fonctionant avec petite modif car c'est
pas de ET qu'il fallait dans la condition mais des OU.

Code : Tout sélectionner

function testFormulaire(){ ff=document.forms["adminModifier"]; var reg2=/[a-z]+/; var reg3=/[A-Z]+/; var reg4=/[0-9]+/; var reg5=/[._-]+/; if (!reg2.exec(ff.users_password.value) || !reg3.exec(ff.users_password.value) || !reg4.exec(ff.users_password.value) || !reg5.exec(ff.users_password.value)){ alert ("veuillez saisir un mot de passe contenant au moins un caractère allant de a-z, A-Z, 0-9 et .-_"); return (false); } }
car ca peut toujours servir a quelqu'un

PS : parcontre je l'ai mis aussi en 4 "reg" et vu que ca marche et que je ne suis pas assez
competent en javascript, je laisse a tout autre la possbilité d'essayer de passer en 1 "reg" ;)

par Nagol » 29 avr. 2009, 12:08

mway, c'est toujours bon de reconnaitre une boulette, nous autres développeurs on a tendance à se prendre pour dieu très rapidement sinon :)

en fait quan dj'ai vu le post de ryle ca m'a embetté de voir 3 regexp je me disais que ca pouvait etre fait en un seul (ce que je pense toujours) mais ce que j'ai proposé est à l'ouest si on considère ta requête initiale :)

par consequences » 29 avr. 2009, 10:50

Pas de souci ;) tu n'avais pas besoin de te justifier ;)

par Nagol » 29 avr. 2009, 09:27

Marche pas ça?

Code : Tout sélectionner

var reg = /[a-zA-Z0-9._-]+/;
Je crois pas, là c'est la condition "ou" et non pas "et".
arf oui j'ai mal lu le post initial sorry :)

par consequences » 29 avr. 2009, 08:27

Bien le bonjour,

oui parfait "ryle" d'ailleurs c'est plus clair et facile a lire, mais pour le novice que je suis.
"nagol" non c'est en effet comme le dis en dessous de toi "AB" le test pour le coup n'est plus
le meme ;)


grand merci a vous pour cette aide precieuse ;)

par AB » 29 avr. 2009, 00:01

Marche pas ça?

Code : Tout sélectionner

var reg = /[a-zA-Z0-9._-]+/;
Je crois pas, là c'est la condition "ou" et non pas "et".

par Nagol » 28 avr. 2009, 22:16

Marche pas ça?

Code : Tout sélectionner

var reg = /[a-zA-Z0-9._-]+/;

par Ryle » 28 avr. 2009, 22:13

Effectivement... y a pas de conditions logiques dans une expression régulière... y a pas non plus >=1, mais des quantificateurs : ? + *

Fais toi 4 masques pour chacun des tests que tu veux effectuer, et test les avec des && si tu veux que tous soient vrais. A tester, mais quelque chose de ce genre devrait le faire :
function testFormulaire(){ 
   ff=document.forms["NomDuformulaire"]; 
   var reg0=/[a-z]+/;
   var reg1=/[A-Z]+/;
   var reg2=/[0-9]+/;
   var reg3=/[._-]+/; 
   if (!reg0.exec(ff.mPasseMembre.value) && !reg1.exec(ff.mPasseMembre.value) 
      && !reg2.exec(ff.mPasseMembre.value) && !reg3.exec(ff.mPasseMembre.value) ){ 
      alert ("veuillez saisir un mot de passe contenant au moins un caractère allant de a-z, A-Z, 0-9 et .-_"); 
      return (false); 
   } 
}

Petit probleme avec script verife de mot de passe

par consequences » 28 avr. 2009, 14:13

Code : Tout sélectionner

function testFormulaire(){ ff=document.forms["NomDuformulaire"]; var reg0=/^[a-z]{>=1} and [A-Z]{>=1} and [0-9]{>=1} and [.-_]{>=1}$/; if (!reg0.exec(ff.mPasseMembre.value)){ alert ("veuillez saisir un mot de passe contenant au moins un caractère allant de a-z, A-Z, 0-9 et .-_"); return(false); } }
Bonjour,

Je présente le probleme en fait se script comme je l'ai pensé est sencé verifier que le
mot de passe contienent au moins une lettre en majuscule et au mois une lettre en miniscule
et au moins un chiffre et au moins un caractere special suivant .-_

J'y connais pas grand chose en javascript donc j'ai du faire une erreur dans mon reg0= je pense ?