Avatar billede horsmark Nybegynder
17. maj 2005 - 15:14 Der er 6 kommentarer og
1 løsning

Emailvalidering må ikke indeholde mellemrum og danske bogstaver

Jeg har en javascript funktion der checker om en given streng er en valid email. Men der er en fejl der gør at brugeren eksempelvis kan skrive følgende email

[test test@nisse.dk] eller [ågeølæble@kajogandrea.dk]

Hvad skal der ændres for at det validerer korrekt ?


function isEmail( sEmail ) {
    var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;    // definitions for nonvalid email
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;     // definitions for valid email
  if (!reg1.test( sEmail ) && reg2.test( sEmail )) {     // Check for valid / nonvalid
      return true
  } else {
    return false
  }
}
Avatar billede roenving Novice
18. maj 2005 - 23:48 #1
Men begge mail-adresser er da faktisk valide ifølge rfc 2109 ?-)
Avatar billede horsmark Nybegynder
19. maj 2005 - 02:03 #2
øhh tjo æhh men hvordan tilretter jeg lige det dersens regexp så mellemrum og æøå ikke kommer med ?
Avatar billede roenving Novice
19. maj 2005 - 09:11 #3
= /^[^æøå ]+\@( osv. !-)
Avatar billede roenving Novice
19. maj 2005 - 09:13 #4
Hrm, der var da også noget med ignoreCase:

var reg2 = /^[^æøå ]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|[0-9]{1,3})(\]?)$/i;
Avatar billede roenving Novice
19. maj 2005 - 09:15 #5
-- og top-domæner findes idag med op til 6 tegn, så: ... \.([a-z]{2,6}|[0- ...

-- og hvis man ikke må bruge æøå, så må man vel heller ikke bruge é, ï og mange andre ...
Avatar billede horsmark Nybegynder
16. september 2005 - 15:06 #6
well har bygget lidt på det og her er den jeg har besluttet at bruge (hmm måske et religionsspørgsmål? *hehe*)

function isEmail( s ) {
    var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|([æøåÆØÅüöäÜÖÄ])/;    // definitions for nonvalid email
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2}|com|net|org|gov|mil|int|biz|pro|info|arpa|aero|coop|name|museum)(\]?)$/;     // definitions for valid email
  if (!reg1.test( getEle(s).value ) && reg2.test( getEle(s).value )) {     // Check for valid / nonvalid
      return true
  } else {
    return false
  }
}
Avatar billede horsmark Nybegynder
16. september 2005 - 15:06 #7
closed
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
Kurser inden for grundlæggende programmering

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