Avatar billede mccookie Seniormester
05. juli 2005 - 23:38 Der er 20 kommentarer og
1 løsning

Validering af emailadresse

Hejsa

Er der nogle der kan fabrikere et rimeligt overskue kontrol script til simpel validering af emailadresser?

DEt skal tilføjes at brugeren kun får muligheden for at taste en email og har ikke mulighed for at skifte denne senere!!!
Avatar billede webt Nybegynder
05. juli 2005 - 23:44 #1
Du kan tage et kig på den her, hvis du kan bruge den snupper du den bare :)
Source
http://martin-nielsen.com/exp/630699/emailcheck.phps
Eksempel
http://martin-nielsen.com/exp/630699/emailcheck.php

Mvh
Martin
Avatar billede leif Seniormester
05. juli 2005 - 23:49 #2
mccookie -> Hvad så hvis jeg skifter mail adresse af forskellige årsager ?
Avatar billede mccookie Seniormester
05. juli 2005 - 23:51 #3
Webt>> Kanon, det er alt rigeligt....

Leif>> Det er heldigvis ikke helt så firkantet, systemmet skal bruges til en datingsite ;)
Avatar billede leif Seniormester
05. juli 2005 - 23:53 #4
mccookie -> Er nysgerrig ! Må man se ? Evt. send et link på min mail exp (a) ljnet.dk
Avatar billede webt Nybegynder
06. juli 2005 - 00:01 #5
Ja men glad for du kunne bruge den :) der kommer lige et svar fra mig af så

Mvh
Martin
Avatar billede mccookie Seniormester
06. juli 2005 - 00:01 #6
Desværre ikke lige for nuværende ;(

Vi mangler en del endnu og der er også noget politik i det.

Det er en datingsite for en meget bestemt målgruppe....

Vi forventer at være opppe at kører efter sommerferien ;)
Avatar billede roenving Novice
06. juli 2005 - 00:01 #7
-- det skal da tilføjes at en email-adresse må indeholde hvadsomhelst foran @-tegnet, samt at domænenavnet efter de nugældende regler jo godt kan være MærskMøller.dk ...

(Se rfc 2821 omkring det, som er foran @-tegnet, jeg har ikke selv checket de nye tilladte tegn i domæne-navne, men det er jo alment kendt !-)
Avatar billede roenving Novice
06. juli 2005 - 00:04 #8
Hov, jeg glemte jo også, at topdomæner idag er på op til 6 bogstaver, så du er 100% sikker på at afvise alle mail-adresser, som findes på f.eks. .museum-domæner !-)
Avatar billede mccookie Seniormester
06. juli 2005 - 00:08 #9
Hvad gør jeg så roenving??
Avatar billede roenving Novice
06. juli 2005 - 00:10 #10
Man kan kun i virkeligheden validere en email-adresse ved at konstatere, at den virker, dvs. sende en mail til den (måske med en password-kode !-), og kræve at det først virker, når der er sendt en mail retur !o]
Avatar billede roenving Novice
06. juli 2005 - 00:12 #11
-- og/eller indtastning af password-koden (sådan en 30-40-50-karakterers-sag, som ikke reelet er mulig at f.eks. læse op over f.eks. telefon !-)
Avatar billede roenving Novice
06. juli 2005 - 00:12 #12
... som det ikke reelt er ...
Avatar billede mccookie Seniormester
06. juli 2005 - 00:13 #13
Hmm.....min plan er at brugeren skal modtage med et unikt som aktivere deres profil, måsker det jo i virkeligheden rigeligt ;)
Avatar billede webt Nybegynder
06. juli 2005 - 00:17 #14
Det er jo rigtigt, der er kommet en del flere ting med, og ja det er da rigtigt at den eneste måde at validere om den virkelig virker er ved at sende en e-mail, men som udgangspunkt er det altid en god ide lige at lave noget check bare for at sortere de værste brugerfejl fra.
Har lige ændret lidt i scriptet så det skulle tillade æøå samt op til 6 tegn i tld, ved at være godt søvnig såå hvis der er fejl så væk mig endelig :)

Mvh
Martin
Avatar billede roenving Novice
06. juli 2005 - 00:18 #15
Du kan lave en foreløbig validering, men kun på, om domænenavnet virker rimeligt sandsynligt, topdomænet er indenfor rimelige rammer, samt om både @-tegnet og mindst et punktum er tilstede på en rimelig måde !-)
Avatar billede coderdk Praktikant
06. juli 2005 - 00:22 #16
Jeg har denne liggende:

<?php

    function isValidEmail($address) 
    { 
        $address = trim($address);
        list(,$host) = split('@',$address);
        if (!preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+' . // username
            '@' .                                  // 'at'
            '([-0-9A-Z]+\.)+' .                    // domain name(s)
            '([0-9A-Z]){1,6}\.?$/i',                // tld
            $address)) 
        {
            if (preg_match('/^\[(.*)\]$/',$host,$regs))
            {
                $ip = explode('.',$regs[1]);
                $is_ip = 1;
                foreach ($ip as $byte)
                {
                    if (!is_numeric($byte))
                    {
                        $is_ip = 0;
                        break;
                    }
                }
                if ($is_ip)
                {
                    return true;
                }
            }
            return false;
        }
        $host .= '.'; // DNS style address
        return (getmxrr($host,$mxrecords) || checkdnsrr($host,'ANY'));
    } 

?>

Du kan nemlig også godt sende mail til f.eks. username@[12.34.56.78] ;)
Avatar billede roenving Novice
06. juli 2005 - 00:23 #17
>>webt

-- du har så ikke læst rfc2821, som såvidt jeg ved er den nyeste gældende standard-definition for smtp og dermed mail-adresser, hvor der står sådan noget som: "På grund af en lang og træls historie med fejl i mail-forsendelser pga. af forsøg fra videresendelses-programmer på at at ændre den lokale del af adressen (den før @-tegnet, min anmærkning) i forsøg på at optimere mail-afsendelser, er det IKKE tilladt for andre end domæne-hosten på den fjerneste måde at fortolke eller validere den lokale del"
Avatar billede webt Nybegynder
06. juli 2005 - 00:29 #18
Det kan jeg ikke prale af nej, men lyder som god læsning, sat på min todo :)

Herfra godnat
Mvh
Martin
Avatar billede roenving Novice
06. juli 2005 - 00:42 #19
;O)
Avatar billede mccookie Seniormester
06. juli 2005 - 10:51 #20
Hehe.......

Jeg tænkte.....kan man lave en enkelt validering, som sikre at email indeholder som min. denne syntax:

nogettekst @ domain . land

Sådan så der skulle være en chance at der er en mail som vi kan sende noget til ;)

Håber i kan se ideen.......
Avatar billede roenving Novice
06. juli 2005 - 15:01 #21
-- det er jo præcis det webts script gør, men den checker for grundigt, for der er en masse, som den luger ud, selvom det er tilladt !-)

Det er i en email-adresse principielt tilladt, at

-- have hvadsomhelst foran @-tegnet, også intetsomhelst !o]

-- bruge alverdens lokale bogstaver i domæne-navne (det mellem @ og sidste punktum !-)

-- en tld (Top-level-Domain, som er det bagved sidste punktum) kan i dag bestå af mellem 2 og 6 engelsk/amerikanske bogstaver ...

-- en simpel javascript-ting skulle så se således ud:

var mail = "Indsæt@din.mail.adresse.her";
var reg = /@[^\.].*\.[a-z]{2,6}$/;
if(!reg.test(mail)){
  alert('Fejl i mail-adresse');
  return false;
}
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