Avatar billede nba1 Nybegynder
27. februar 2001 - 10:14 Der er 10 kommentarer og
2 løsninger

validering af email

Er der nogen der lynhurtigt kan se fejlen?
scriptet checker fint navnfeltet, telefonfeltet,radiobuttons og emailchecket.
problemet er bare at når man har skrevet forkert i emailfeltet, så får man ikke chancen for at rette det, før den hopper videre.

<script language=javascript>
function check_email(email) {
  if ((email == \"\")
    || (email.indexOf (\'@\') == -1)
    || (email.indexOf (\'.\') == -1))
      return false;
  { 
  return true;
}
}


function check()
{
if(document.form1.kontaktpr.value==\"\")
{
alert(\"husk at skrive dit navn\");
document.form1.kontaktpr.focus();
return false;
}
else if(document.form1.tlf.value==\"\" || isNaN(document.form1.tlf.value))
{
alert(\"husk at skrive dit telefonnr med tal\");
document.form1.tlf.focus();
return false;
}

var i,c=0;
    for (i=0;i<document.form1.pluspac.length;i++)
      if (document.form1.pluspac[i].checked) c++;
    if (c==0) {
      alert(\'Du skal vælge en din pluspac type\');
      return false;
    }
  if (!(check_email(document.form1.email.value))){
  alert(\'Du har ikke indtastet en gyldig email adresse\')
  document.form1.email.focus();
} else {
  return true;
}

    }
</script>
Avatar billede nute Nybegynder
27. februar 2001 - 10:18 #1
Prøv denne:

function check_email(email) {
  if ((email == \"\")
    || (email.indexOf (\'@\') == -1)
    || (email.indexOf (\'.\') == -1)) {
      return false; 
  return true;
}
}


/nute
Avatar billede erikjacobsen Ekspert
27. februar 2001 - 10:18 #2
if (!(check_email(document.form1.email.value))){
    alert(\'Du har ikke indtastet en gyldig email adresse\')
    document.form1.email.focus();
    return false;
  } else {
      return true;
  }
Avatar billede erikjacobsen Ekspert
27. februar 2001 - 10:19 #3
nej, nute, check_email funktionen er god nok (omend lidt kluntet) - så
det er ikke fejlen.
Avatar billede hoejrup Nybegynder
27. februar 2001 - 10:20 #4
Sådan laver du et korrekt email check:

function gyldigEmail(email) {
ugyldigeTegn = \" /:,;\"
           
if (email == \"\") {
return false
}
           
for (i=0; i<ugyldigeTegn.length; i++) {   
fejlTegn = ugyldigeTegn.charAt(i)
if (email.indexOf(fejlTegn,0) > -1) {
return false
}
}
           
paaPos = email.indexOf(\"@\",1)
if (paaPos == -1) {
return false
}
           
if (email.indexOf(\"@\",paaPos+1) != -1) {
return false
}
punktumPos = email.indexOf(\".\",paaPos)
           
if (punktumPos == -1) {
return false
}
           
if (punktumPos+3 > email.length) {
return false
}
return true
}

/per
Avatar billede nute Nybegynder
27. februar 2001 - 10:27 #5
erikjacobsen > jo....jeg ser ditt poeng, og er enig, men selve check_mail(..) funksjonen ville ikke fungere sånn som den var satt opp:

if(...)
return false;
{
return true;
}

I dette tilfelle vil *aldri* \'return true;\' bli utført

/nute
Avatar billede nba1 Nybegynder
27. februar 2001 - 10:31 #6
erikjacobsen det var dit \"return false;\", der reddede scriptet og tak for det, også selvom du kalder mit script kluntet!!!

Jeg vil dog lige belønne hoejrup for et bedre emailcheck.

Men tak til alle for den hurtige tilbagevending
Avatar billede erikjacobsen Ekspert
27. februar 2001 - 12:11 #7
Jo, nute, return true vil blive udført i dette tilfælde

  if (1==0)
    return false;
  { return true; }

men de to { og } er overflødige (kluntede...)
Avatar billede nute Nybegynder
27. februar 2001 - 12:14 #8
ja, selvfølgelig...så er jeg enig... :)´det første man blir blind på, er øynene...;)
Avatar billede erikjacobsen Ekspert
27. februar 2001 - 12:17 #9
:)
Avatar billede jakoba Nybegynder
27. februar 2001 - 16:49 #10
hoerup >> jeg er ikke helt glad for din check for den ville også kassere min email addresse ( jakob.aggernaes@get2net.dk ) kunne du ikke nøjes med at checke for punktum efter @ tegnet.
Avatar billede hoejrup Nybegynder
27. februar 2001 - 17:21 #11
jakoba> Det har du fuldstændig ret i, det er ikke en god idé at undersøge for punktum.

/per
Avatar billede nute Nybegynder
27. februar 2001 - 17:23 #12
det er en god ide å sjekke for punktum, men det skal forekomme *etter* @

/nute
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