Avatar billede ranza Nybegynder
22. februar 2005 - 11:28 Der er 14 kommentarer og
1 løsning

password validering

Jeg skal skrive et javascript der kan tjekke på om stringen indeholder små OG store bogstaver OG tal OG er 8 chars lang :)

lige umidelbart ville jeg tro man kunne lave 3 loops med ABC...abc... og 123... og så lave et loop og derefter tjekke længden.

Men hvordan det lige skal skrives kan jeg ikke helt regne ud

min form er noget ala

<form action="foo.php" method="post">
<input name="passwd" type="password" />
<input name="valpasswd" type="password" />
<input value="tjek passwd" type="submit" OnClick="checkpasswd(passwd, valpasswd);" />
</form>
Avatar billede yellow Nybegynder
22. februar 2005 - 11:36 #1
function validatePassword( pwd ){
  return /\d/.test(pwd) && /[a-z]/.test(pwd) && /[A-Z]/.test(pwd) && /.{8}/.test(pwd);
}
Avatar billede yellow Nybegynder
22. februar 2005 - 11:48 #2
ahh, mangler lige et check mere. Ovenstående accepterer mellemrum i password:

function validatePassword( pwd ){
  return !/\s/.test(pwd) && /\d/.test(pwd) && /[a-z]/.test(pwd) && /[A-Z]/.test(pwd) && /.{8}/.test(pwd);
}
Avatar billede ranza Nybegynder
22. februar 2005 - 11:57 #3
tjekker den også på om stringen indeholder tal?
Avatar billede yellow Nybegynder
22. februar 2005 - 12:47 #4
ja,

!/\s/ = ingen mellemrum
/\d/ = mindst eet tal
/[a-z]/ = mindst eet lille bogstav
/[A-Z]/ = mindst eet stort bogstav
/.{8}/ = længde = 8 tegn
Avatar billede yellow Nybegynder
22. februar 2005 - 12:50 #5
skal du have hjælp til at passe den ind i din form?
Avatar billede ranza Nybegynder
22. februar 2005 - 12:54 #6
aah :) kendte ikke til \d ... uhm du må da gerne give et eksembel :)
Avatar billede yellow Nybegynder
22. februar 2005 - 13:01 #7
Har lige negeret logikken, men her:

<script type="text/javascript">
function validateForm( myForm ){
  elm = myForm.passwd;
  if( /\s/.test(elm.value) || !/\d/.test(elm.value) || !/[a-z]/.test(elm.value) || !/[A-Z]/.test(elm.value) || !/.{8}/.test(elm.value) ){
    alert('Password skal være 8 tegn langt, indeholde tal samt store og små bogstaver.');
    elm.focus();
    elm.select();
    return false;
  }
  elm = myForm.valpasswd;
  if( myForm.passwd.value != elm.value ){
    alert('De to passwords stemmer ikke overens.');
    elm.focus();
    elm.select;
    return false;
  }
  return true;
}
</script>
<form action="foo.php" method="post" onsubmit="return validateForm(this);">
        <input name="passwd" type="password" />
        <input name="valpasswd" type="password" />
        <input value="tjek passwd" type="submit" />
</form>
Avatar billede yellow Nybegynder
22. februar 2005 - 13:03 #8
hovsa, mangler () efter elm.select i anden if sætning.
Avatar billede roenving Novice
22. februar 2005 - 16:21 #9
Skal længde-checket ikke sættes til præcis 8 tegn ?-)

-- som den er nu, er det jo minimum 8 ...

... || !/^.{8}$/.test(elm.value) ){
Avatar billede yellow Nybegynder
22. februar 2005 - 16:32 #10
ehh jo, det var en svipser :-)
Avatar billede ranza Nybegynder
23. februar 2005 - 10:21 #11
det var nu bare minimum 8 tegn :) ... og det ser ud til at fungere ganske okay! jeg takker rigtig meget ! ... smid et svar så får du points :)
Avatar billede yellow Nybegynder
23. februar 2005 - 10:25 #12
svar
Avatar billede ranza Nybegynder
23. februar 2005 - 10:31 #13
tanks :)
Avatar billede yellow Nybegynder
23. februar 2005 - 10:50 #14
du glemte at acceptere :)
Avatar billede ranza Nybegynder
23. februar 2005 - 12:40 #15
oh hmm sjovt ... var helt sikker på jeg havde trykket :) - nu burde den være der
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester