Avatar billede zetn Nybegynder
08. juli 2004 - 12:28 Der er 10 kommentarer og
1 løsning

Tjek felter og valider

Heysa, jeg har nogle felter som en bruger SKAL udfylde, samt den tjekke om de to indtastede adgangskoder er de samme, men jeg vil også gerne kunne definere min. længden på felterne.

Samt se om det er en gyldig email adresse..

Har følgende kode:

<script>

function checkPw(TheForm) {
password = TheForm.nf_pwd1.value;
password2 = TheForm.nf_pwd2.value;

if (password != password2) {
alert ("\nDe indtastede adgangskoder matchede ikke. Vær venlig at prøv igen.")
return false;
}
return true;
}
function checkEm(TheForm) {
email = TheForm.nf_email1.value;
email2 = TheForm.nf_email2.value;

if (email != email2) {
alert ("\nDe indtastede emails matchede ikke. Vær venlig at prøv igen.")
return false;
}
return true;
}

function verify(TheForm) {
var themessage = "Du er nød til at udfylde følgende felter: ";
if (TheForm.nf_profilename.value=="") {
themessage = themessage + "\nProfilnavn";
}
if (TheForm.nf_pwd1.value=="") {
themessage = themessage + "\nAdgangskode";
}
if (TheForm.nf_pwd2.value=="") {
themessage = themessage + "\nBekræft adgangskode";
}
if (TheForm.nf_email1.value=="") {
themessage = themessage + "\nEmail";
}
if (TheForm.nf_email2.value=="") {
themessage = themessage + "\nBekræft email";
}
if (themessage == "Du er nød til at udfylde følgende felter: ") {
return true;
}
alert(themessage);
return false;
}

function CheckMinForm(inpForm) {
if (!verify(inpForm)) {
return false;
}
if (!checkPw(inpForm)) {
return false;
};
if (!checkEm(inpForm)) {
return false;
};
return true;
}

</script>
Avatar billede roenving Novice
08. juli 2004 - 12:41 #1
<script type="text/javascript">

function checkPw(TheForm) {
  password = TheForm.nf_pwd1.value;
  password2 = TheForm.nf_pwd2.value;

  if (password != password2) {
    alert ("De indtastede adgangskoder matchede ikke.\nVær venlig at prøv igen.")
    return false;
  }
  return true;
}
function checkEm(TheForm) {
  email = TheForm.nf_email1.value;
  email2 = TheForm.nf_email2.value;

  if (email != email2) {
    alert ("De indtastede emails matchede ikke.\nVær venlig at prøv igen.")
    return false;
  }
  var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
  var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i");
  if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(fld.value)){
    alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.")
    return false;
  }
  return true;
}

function verify(TheForm) {
  var themessage = "";
  if (TheForm.nf_profilename.value=="") {
    themessage += "\nProfilnavn";
  }
  if (TheForm.nf_pwd1.value.length<4) {
    themessage += "\nAdgangskode";
  }
  if (TheForm.nf_pwd2.value.length<4) {
    themessage += "\nBekræft adgangskode";
  }
  if (TheForm.nf_email1.value=="") {
    themessage += "\nEmail";
  }
  if (TheForm.nf_email2.value=="") {
    themessage += "\nBekræft email";
  }
  if (themessage == "") {
    return true;
  }
  alert("Du er nødt til at udfylde følgende felter: " + themessage);
  return false;
}

function CheckMinForm(inpForm) {
  if (!verify(inpForm)) {
    return false;
  }
  if (!checkPw(inpForm)) {
    return false;
  };
  if (!checkEm(inpForm)) {
    return false;
  };
  return true;
}

</script>
Avatar billede roenving Novice
08. juli 2004 - 12:42 #2
Hov:

  var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
  var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i");
  if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(email)){
    alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.")
    return false;
  }
Avatar billede zetn Nybegynder
08. juli 2004 - 12:50 #3
Melder fejl. Expected } i linie 67: linien ligefør </script>
Avatar billede roenving Novice
08. juli 2004 - 13:04 #4
Huh ?-)

-- jeg hverken får eller kan se nogle fejl, så hvordan ?o]

-- i øvrigt kan den sidste samle-funktionskrives helt kompakt:

function CheckMinForm(inpForm) {
  return verify(inpForm)&&checkPw(inpForm)&&checkEm(inpForm)
}
Avatar billede zetn Nybegynder
08. juli 2004 - 13:07 #5
Jeg havde også slået til at den skal vise alle fejl, og den virker altså ikke.

<script type="text/javascript">

function checkPw(TheForm) {
  password = TheForm.nf_pwd1.value;
  password2 = TheForm.nf_pwd2.value;

  if (password != password2) {
    alert ("De indtastede adgangskoder matchede ikke.\nVær venlig at prøv igen.")
    return false;
  }
  return true;
}
function checkEm(TheForm) {
  email = TheForm.nf_email1.value;
  email2 = TheForm.nf_email2.value;

  if (email != email2) {
    alert ("De indtastede emails matchede ikke.\nVær venlig at prøv igen.")
    return false;
  }
  var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
  var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i");
  if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(email)){
    alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.")
    return false;
  }


function verify(TheForm) {
  var themessage = "";
  if (TheForm.nf_profilename.value=="") {
    themessage += "\nProfilnavn";
  }
  if (TheForm.nf_pwd1.value.length<4) {
    themessage += "\nAdgangskode";
  }
  if (TheForm.nf_pwd2.value.length<4) {
    themessage += "\nBekræft adgangskode";
  }
  if (TheForm.nf_email1.value=="") {
    themessage += "\nEmail";
  }
  if (TheForm.nf_email2.value=="") {
    themessage += "\nBekræft email";
  }
  if (themessage == "") {
    return true;
  }
  alert("Du er nødt til at udfylde følgende felter: " + themessage);
  return false;
}

function CheckMinForm(inpForm) {
  return verify(inpForm)&&checkPw(inpForm)&&checkEm(inpForm)
}
</script>

<table width='70%'>

<form onsubmit='return CheckMinForm(this)' method='post' action='redirect.asp?mode=join'>

<tr><td width='30%'><font>Ønsket profilnavn:</td><td><input type='text' size='25' name='nf_profilename'><font color='CC0000'>&nbsp;*</font></td></tr>
<tr><td width='30%'><font>Adgangskode:</td><td><input type='password' size='25' name='nf_pwd1'><font color='CC0000'>&nbsp;*</font></td></tr>

<tr><td width='30%'><font>Bekræft adgangskode:</td><td><input type='password' size='25' name='nf_pwd2'><font color='CC0000'>&nbsp;*</font></td></tr>

<tr><td width='30%'><font>Email:</td><td><input type='text' size='25' name='nf_email1'><font color='CC0000'>&nbsp;*</font></td></tr>

<tr><td width='30%'><font>Bekræft email:</td><td><input type='text' size='25' name='nf_email2'><font color='CC0000'>&nbsp;*</font></td></tr>


<tr><td width='30%'></td><td><input TYPE="SUBMIT" VALUE="&nbsp;&nbsp;&nbsp;&nbsp;Opret profil&nbsp;&nbsp;&nbsp;&nbsp;"></td></tr>

</table>
</form>
Avatar billede roenving Novice
08. juli 2004 - 13:48 #6
Du har fået fjernet return true efter regexp-tingen, det skal lige ind igen:

  var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
  var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i");
  if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(email)){
    alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.")
    return false;
  }
  return true;
}
Avatar billede zetn Nybegynder
08. juli 2004 - 13:52 #7
Kan man ikke gøre så den siger at antallet af tegn er for lidt... Nu siger den bare man skal huske at udfylde adgangskode selvom man har skrevet 3 tegn.... Den skal sige at adgangskoden skal min. være 5 teng fx. det samme med profilnavn.
Avatar billede roenving Novice
08. juli 2004 - 14:05 #8
Lige nu brokker den sig faktisk, hvis du kun har tre tegn !-)

-- vil du have en bedre meddelelse, kan du f.eks.

  if (TheForm.nf_pwd1.value.length<4) {
    themessage += "\nAdgangskode med mindst 4 tegn";
  }
  if (TheForm.nf_pwd2.value.length<4) {
    themessage += "\nBekræft adgangskode med mindst 4 tegn";
  }
Avatar billede zetn Nybegynder
20. januar 2005 - 12:54 #9
Smid et svar
Avatar billede roenving Novice
20. januar 2005 - 13:00 #10
Oki '-)
Avatar billede roenving Novice
20. januar 2005 - 13:07 #11
Tak 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