Avatar billede nemlig Professor
12. april 2014 - 11:29 Der er 2 kommentarer og
1 løsning

Validere flere emailadresser i ét inputfelt

Hejsa.
Jeg validerer i dag for korrekt indtastet emailadresse med nedenstående function.
Men nu har jeg et ønske, om at der i inputfeltet kan indtastes flere mailadresser (adskilt med komma eller semikolon).

Nogen forslag til løsning?

function check_email($email)
{
    if((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/',$email)) )
    {
        $host = explode('@', $email);
        if(function_exists("checkdnsrr"))
        {
            if(checkdnsrr($host[1].'.', 'MX') ) return TRUE;
            if(checkdnsrr($host[1].'.', 'A') ) return TRUE;
            if(checkdnsrr($host[1].'.', 'CNAME') ) return TRUE;
        } else
        { return TRUE;
        }

    }
    return FALSE;
}

if(check_email($_POST['email']) === FALSE)
{
  $fejl = 'Emailadressen er indtastet forkert!<br>';
}
Avatar billede rix Praktikant
12. april 2014 - 12:53 #1
Brug explode function til at dele det op med løb array igenem og brug funktionen til at kontrollere de forskellige email
Avatar billede nemlig Professor
13. april 2014 - 12:47 #2
Hejsa og tak for input.
Send venligst et svar.
Det er blevet til denne function:

function check_email($email)
{
    $emailArray = explode(',', $email);
    $fejlEmail = 0; //FEJLTÆLLER
    for($i = 0; $i < count($emailArray); $i++)
    {
        // FOR KORREKT INDPUT
        if (!filter_var($emailArray[$i], FILTER_VALIDATE_EMAIL))
        {
            $fejlEmail++;  //FEJL I EMAIL ADRESSE
        }
   
        $host = explode('@', $emailArray[$i]);
        if (function_exists("checkdnsrr"))
        {
            if(!checkdnsrr($host[1], 'MX') )     { $fejlEmail++; }
            if(!checkdnsrr($host[1], 'A') )     { $fejlEmail++;}
           
        }
    }
    Return $fejlEmail; //Hvis værdi = 0, ingen fejl og hvis værdi > 0, fejl.
}
Avatar billede rix Praktikant
17. april 2014 - 04:10 #3
Så den først nu :)
Tak skal du have :)
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

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