Avatar billede joe_dalton Nybegynder
12. oktober 2005 - 13:04 Der er 11 kommentarer og
1 løsning

Hvem kan lave det her? Adgangskode kontrol til brugerregistrering

Hej Experter :D

Jeg har et lille problem som jeg håber der er nogen af jer der kan hjælpe mig med at løse.
Jeg er i fuld gang med at kave en bruger-registrering på min side og i den sammenhæng kunne jeg godt tænke mig at man kunne se om adgangskode-kravene er opfyldt "live"

Altså mens brugeren taster sine data ind så er der f.eks 3 små lamper som lyser rødt.. og efterhånden som kravene bliver opfyldt så bliver de grønne.

Det er vel bare bede om at skifte fra et .jpg til et andet hvis teksten i et input-box opfylder kravene som kunne være:

- Min 5 karakterer langt
- Tal
- Ens

Håber i gider hjælper mig.. kan muligvis godt finde på at uddele mere end point hvis der er nogen der får det lavet!

På forhånd tak!

.
Avatar billede fennec Nybegynder
12. oktober 2005 - 13:18 #1
Noget i denne stil (ikke testet)

<form name="myForm" method="post">
<input type="Text" name="test1" value="" onkeydown="checkIt(this.value,this.form.test2)" onkeyup="checkIt(this.value,this.form.test2)">
<input type="Text" name="test2" value="" onkeydown="checkIt(this.form.test1,this.value)" onkeyup="checkIt(this.form.test1,this.value)">
<img src="red.gif" id="imgLength">
<img src="red.gif" id="imgNumbers">
<img src="red.gif" id="imgMatch">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function checkIt(fTekst1, fTekst2)
{
  if(fTekst1.length > 5)
    document.getElementById("imgLength").src = "green.gif";
  if(!isNaN(fTekst1))
    document.getElementById("imgNumbers").src = "green.gif";
  if(fTekst1 == fTekst2)
    document.getElementById("imgMatch").src = "green.gif";
}
//-->
</SCRIPT>

</form>
Avatar billede roenving Novice
12. oktober 2005 - 13:18 #2
Hrm, tjah, det kan jo laves på mange måder (og specielt svært er det ikke !-)

-- jeg havde ikke lige nogle røde og grønne knapper, så her er det lavet med nogle farvede elementer, men hvis du har nogle billeder, skal jeg gerne vise, hvordandet skal ændres !-)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tomt dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
.ret{background:#f00;line-height:0;font-size:1px;width:15px;height:15px;float:left;margin-right:5px;}
</style>
<script language="javascript" type="text/javascript">
function checkPass(elm){
  if(elm.id=="pass"){
    document.getElementById("krav1").style.backgroundColor = elm.value.length>4 ? "#0f0" : "#f00";
    document.getElementById("krav2").style.backgroundColor = elm.value.match(/\d/) && elm.value.match(/[a-z]/i) ? "#0f0" : "#f00";
  }
  if(elm.id=="pass2"){
    document.getElementById("krav3").style.backgroundColor = elm.value == elm.form.pass.value ? "#0f0" : "#f00";
  }
}
</script>
</head>

<body>
<br>
<form id="minForm" name="minForm">
Password: <input id="pass" name="pass" type="password" value="Tom" onkeyup="checkPass(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
Gentag password: <input id="pass2" name="pass2" type="password" value="Tom" onkeyup="checkPass(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
<div class="ret" id="krav1">&nbsp;</div>
<div class="ret" id="krav2">&nbsp;</div>
<div class="ret" id="krav3">&nbsp;</div>

</form>
</body>

</html>
Avatar billede softspot Forsker
12. oktober 2005 - 13:32 #3
Og en 3. dog ret lowtech-løsning:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Password Securitylevel Indicator</title>
  <script type="text/javascript">
  function countLower(sVal) {
    var nums = "abcdefghijklmnopqrstuvwxyzæøå";
    var iCnt = 0;
    for(var i=0; i<sVal.length; i++) {
      iCnt += (nums.indexOf(sVal.substr(i,1)) > -1 ? 1 : 0);
    }
    return iCnt
  }
  function countUpper(sVal) {
    var nums = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ";
    var iCnt = 0;
    for(var i=0; i<sVal.length; i++) {
      iCnt += (nums.indexOf(sVal.substr(i,1)) > -1 ? 1 : 0);
    }
    return iCnt
  }
  function countNumeric(sVal) {
    var nums = "0123456789";
    var iCnt = 0;
    for(var i=0; i<sVal.length; i++) {
      iCnt += (nums.indexOf(sVal.substr(i,1)) > -1 ? 1 : 0);
    }
    return iCnt
  }
  function doCheckPass(obj) {
    var bSec = 0;
    bSec += (obj.value.length > 4 ? 1 : 0);
    bSec += (countNumeric(obj.value) > 0 ? 1 : 0);
    bSec += (countUpper(obj.value) > 0 ? 1 : 0);
    bSec += (countLower(obj.value) > 0 ? 1 : 0);
    var oImg = document.getElementById("seclevel");
    oImg.src = "seclevel" + bSec + ".jpg";
    oImg.setAttribute("alt",oImg.src);
  }
  </script>
</head>
<body>

<form ID="Form1">
  <input type="text" name="pass" value="" onkeyup="doCheckPass(this)">
  <img id="seclevel" src="seclevel0.jpg"><br>
</form>

</body>
</html>
Avatar billede joe_dalton Nybegynder
12. oktober 2005 - 13:39 #4
Tak. Kikker lige på koderne så finder jeg ud af om det kan bruges! ;-)
Avatar billede joe_dalton Nybegynder
12. oktober 2005 - 13:52 #5
Til roenving >>>>

Der er en lille fejl i dine krav. den opdager ikke hvis password 1 er forskelliget fra password 2
Avatar billede roenving Novice
12. oktober 2005 - 13:54 #6
whaddd ?-)

-- hvis du efter at have indskrevet password-gentagelsen retter i den første opdager den det ikke, nej ...

-- hvis du godt vil have det, skal den ene linje under andet password kopieres op i den første også !-)
Avatar billede joe_dalton Nybegynder
12. oktober 2005 - 13:56 #7
Til roenving >>>>

Du må gerne vise mig hvoradn jeg få indsat billede rind istedet for at du skifter baggrundsfarve. Kan ikke helt se mig ud af det nemlig.
Avatar billede roenving Novice
12. oktober 2005 - 14:09 #8
F.eks. sådan:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tomt dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
.ret{width:15px;height:15px;margin-right:5px;}
</style>
<script language="javascript" type="text/javascript">
function checkPass(elm){
  if(elm.id=="pass"){
    document.getElementById("krav1").src = elm.value.length>4 ? "green.gif" : "red.gif";
    document.getElementById("krav2").src = elm.value.match(/\d/) && elm.value.match(/[a-z]/i) ? "green.gif" : "red.gif";
    document.getElementById("krav3").src = elm.value == elm.form.pass2.value ? "green.gif" : "red.gif";
  }
  if(elm.id=="pass2"){
    document.getElementById("krav3").src = elm.value == elm.form.pass.value ? "green.gif" : "red.gif";
  }
}
</script>
</head>

<body>
<br>
<form id="minForm" name="minForm">
Password: <input id="pass" name="pass" type="password" value="Tom" onkeyup="checkPass(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
Gentag password: <input id="pass2" name="pass2" type="password" value="Tom" onkeyup="checkPass(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
<img src="red.gif" class="ret" id="krav1">
<img src="red.gif" class="ret" id="krav2">
<img src="red.gif" class="ret" id="krav3">

</form>
</body>

</html>
Avatar billede joe_dalton Nybegynder
12. oktober 2005 - 14:31 #9
Fantastisk! :D Læg et svar så du kan få lidt point!
Avatar billede roenving Novice
12. oktober 2005 - 14:38 #10
Behold selv langt de fleste, for det var bestemt ikke en opgave som var mere end tre gange så svær, som et svært spørgsmål !-)

-- og bemærk, at jeg fortolkede dine krav til længde: 5 eller flere, _både_ tal og bogstaver, heriblandt nogle i det engelse alfabet samt at de selvfølgelig skal være ens ...

-- hvis du f.eks. også vil ahve både store og små bogstaver, kunne det f.eks. se sådan ud:

= elm.value.match(/\d/) && elm.value.match(/[a-z]/) && elm.value.match(/[A-Z]/) ?

-- i stedet for: = elm.value.match(/\d/) && elm.value.match(/[a-z]/i) ?

Velbekomme '-)
Avatar billede joe_dalton Nybegynder
12. oktober 2005 - 14:41 #11
Tak! :D
Avatar billede roenving Novice
16. oktober 2005 - 16:14 #12
-- og jeg takker for point ;~}
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