Avatar billede haren Nybegynder
08. februar 2005 - 14:49 Der er 12 kommentarer og
1 løsning

Tjek en email?

Hejsa,

Hvilken funktion skal benyttes for at tjekke om en email er gyldig.
Avatar billede sylvesternielsen Nybegynder
08. februar 2005 - 14:56 #1
Du kan bruge eregi() funktionen.

$email = "adresse@domain.dk";
if (eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $email))
{
// ok
echo "den er ok";
}
else
{
// fejl
echo "der er fejl";
}
Avatar billede sylvesternielsen Nybegynder
08. februar 2005 - 14:56 #2
det var så et svar. =)
Avatar billede haren Nybegynder
08. februar 2005 - 15:01 #3
Thx
Avatar billede sylvesternielsen Nybegynder
08. februar 2005 - 15:20 #4
Det var så lidt da.. =)
Avatar billede Slettet bruger
09. februar 2005 - 03:02 #5
Det var lige min kæphest, i fik ramt. Den udgave vil ikke godtage et + i brugernavnsafsnittet af adressen, og da det er et gyldigt tegn (og især da jeg bruger det tit), irriterer det mig, når jeg ser tjek-funktioner, der ikke tillader det.

Her er en tilrettet udgave:

$email = "adres+se@domain.dk";
if (eregi("^[_\.0-9a-z+-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $email))
{
// ok
echo "den er ok";
}
else
{
// fejl
echo "der er fejl";
}
Avatar billede haren Nybegynder
09. februar 2005 - 17:24 #6
også tak til dig.. :)
Avatar billede voyager_dfs Nybegynder
11. februar 2005 - 21:06 #7
Hey heren ;)
sidder og små keder mig lidt og så fandt jeg dig lige har.. har har for noget tid siden også lavet mig en mail tjekker, ville lige vise dig den ;)
<?
                        function checkEmail($Email){
                                IF (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $Email)) {
                                        return FALSE;
                                }
                                list($Username, $Domain) = split("@",$Email);
                                IF(getmxrr($Domain, $MXHost)) {
                                        return TRUE;
                                }
                                ELSE {
                                IF(fsockopen($Domain, 25, $errno, $errstr, 30)) {
                                        return TRUE;
                                }
                                ELSE {
                                        return FALSE;
                                }
                                }
                        }
?>
Avatar billede haren Nybegynder
11. februar 2005 - 21:13 #8
Det ser indviklet ud, tjekker den også om domænet findes eller hvordan?

Vil du forklare den for mig.. :)
Avatar billede voyager_dfs Nybegynder
11. februar 2005 - 21:27 #9
jeps det er lige hvad den gør. ;)
først tjekker den om syntax'en er rigtig lige som i den anden,
der næst spiltter den Email af i 2
og så kigger den om der køre en mail-server på domænet,
har dog ikke fundet på noget der kan siger mig om den mail er oprettet på mail-serveren
foruden at sende en mail til personen med et link.
Avatar billede erikjacobsen Ekspert
11. februar 2005 - 21:30 #10
Løsningerne fra sandbox og frac kan heller ikke anbefales, da de udelukker
email fra domæner som fx. etellerandet.info  - det er nemt at rette, og nemt at overse.
Man skal ikke være for restriktiv - hvem ved hvordan emailadresser ser ud i morgen?
Avatar billede Slettet bruger
12. februar 2005 - 00:11 #11
Min var såmænd også bare en mindre rettelse for at få tilføjet +, som forresten også skal tilføjes i tjekkeren fra voyager_dfs. Det er lige den detalje, jeg mest ser på, da jeg tit har oplevet den mangel i tjekkere - også hos såkaldt professionelle.
Avatar billede haren Nybegynder
12. februar 2005 - 16:27 #12
Kan det ikke laves så den tjekker om der er et @ i sætningen - samt mindst 5 cifre i det hele?
Avatar billede erikjacobsen Ekspert
12. februar 2005 - 16:29 #13
Jo, grundlæggende kan du nok regne med at en email er:

  noget@noget.noget

hvor @ og . er faste og "noget" er mere end ingenting. Der er dog regler for
domæner, som man kan overveje om man gider checke.
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