Avatar billede webstuff Nybegynder
26. februar 2006 - 15:27 Der er 9 kommentarer og
1 løsning

Tjek gyldig email

Jeg har dette stykke kode til at tjekke om en indtastet email adresse er gyldig, men den virker ikke helt:
--------------
!eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $afsender)
--------------

Mvh. Andreas
Avatar billede webstuff Nybegynder
26. februar 2006 - 15:51 #1
slet ingen?
Avatar billede erikjacobsen Ekspert
26. februar 2006 - 15:53 #2
"virker ikke helt"    ... hvad med at sige hvad der er galt?
Jeg kan umiddelbart se et par ting.
1) Der findes TLD-er på mere end 4 tegn (.museum)
2) Der er egentlig ingen regler for hvad der må stå før @
Avatar billede webstuff Nybegynder
26. februar 2006 - 16:14 #3
Det der sker er at den afviser min email adresse..
Kan du skrive den om så den overholder alle standarder??
Avatar billede jensgram Nybegynder
26. februar 2006 - 16:27 #4
Det her spm er oppe med jævne mellemrum. Rent ud sagt, så tror jeg ikke, at det kan betale sig at ofre alt for meget tid på validering, da folk enten indtaster en gyldig e-mail-adresse eller alligevel laver en fake der validerer.

Nedenstående tester på det allermest basale niveau (utestet).

"^[^@]+@[^@]+\.[a-z]{2,}$"


- Jens Gram
Avatar billede erikjacobsen Ekspert
26. februar 2006 - 16:32 #5
Vi er ganske enige, Jens. Jeg siger sommetider at der skal være et @, og et punktum til højre for. Det er næsten det du skriver. Så kommer man ikke til at afvise en lovlig.

Men hvad er din mailadresse, som den afviser, webstuff. Bare sådan ca.:  xxx@xxxxxxx.xx  ?
Avatar billede jensgram Nybegynder
26. februar 2006 - 16:37 #6
Jep! Mit forslag er som sagt bare et skud fra hoften, og skulle da også bare illustrere, at jeg ikke finder det nødvendigt at bruge tid på en fancy reg.exp.
Avatar billede webstuff Nybegynder
26. februar 2006 - 16:54 #7
ja den mail den afviser er bare: xxx@xxxxxxx.xx :-(
Det er til min kontakt form, og du (erik) snakkede engang i et andet spørgsmål om at man skulle tjekke efter "\n" for at undgå spam.. Det var også det jeg satsede på at gøre samtidig :-)
Avatar billede erikjacobsen Ekspert
26. februar 2006 - 16:58 #8
Ja, og det vil du opnå. Klart nok. Men jeg får da en OK på den het børgedims:

$afsender="xxx@xxxxx.xx";
if (eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $afsender)) {
print "$afsender ok<br>";
} else {
print "$afsender ikke<br>";
}
Avatar billede webstuff Nybegynder
26. februar 2006 - 23:17 #9
okay.. så må jeg jo bare prøve at få den til at virke..
Jeg regner ikke med du vil have point erik, så jeg tager dem selv..
Ellers må du bare brokke dig så får du nogle.. :-)
Avatar billede jensgram Nybegynder
27. februar 2006 - 07:26 #10
... og det er selvfølgelig ikke negeringen (!), der er kommet med over?

!eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $afsender)
^
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