Avatar billede Wink Nybegynder
30. april 2014 - 11:35 Der er 4 kommentarer

Email Validation - mangler hurtig hjælp

Hej herinde.
Jeg tænkte på om der var nogen der kunne assistere mig med lidt hjælp når det kommer til at kode med php. Jeg skal gerne Have den til at kunne melde fejl, når der bliver indtastet en email, der enten mangler et "@" eller ".dk"

(Emailen indtastes på side 1 og bliver sendt videre til side 2, hvor den gerne skulle melde fejl)

Koden (side1):

<center><form action='Email2.php' method='get'>
Email: <input type='text' name='Email'>
<input type='submit'/>
</form></center>

Koden (side2):

<?php
$email = $_GET['Email'];
if ($email < 7 and $email > 30)
{ echo 'Fejl. Minimum 7 og Maksimum 30 tegn'; }
elseif (!preg_match("/(@)/",$email))
{ echo "Fejl. <br>Du mangler @"; }
elseif (!preg_match('/(.dk$)/',$email))
{ echo "Fejl. <br>Du er ikke i besidelse af en danskregistreret emailadresse.";
} else
{ echo 'Valid email'; }
?>

Jeg har ikke selv lige kunne finde fejl og søger derfor efter svar herinde.
Ønsker gerne feedback hurtigst muligt :)
Avatar billede Slettet bruger
30. april 2014 - 11:43 #1
Hvad med en:

function validateEmail($email)
{
  $emailRegEx = '^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+\\.)*([a-z0-9-]+)(\\.[a-z]{2,3}))$^';
  if (preg_match($emailRegEx, $email)) $emailCorrect = true; else $emailCorrect = false;
  return $emailCorrect;
}

Så kalder du bare validateEmail("emailadressen"); og får true tilbage hvis det er en valid adresse og false hvis den ikke er valid.

Den kigger dog ikke på .dk, men om adressen bare er gyldig.
Avatar billede repox Seniormester
30. april 2014 - 12:41 #2
Brug PHP's filter_var() funktion.

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo "E-mail er ok";
}
else
{
  echo "Email er ikke ok";
}
Avatar billede Slettet bruger
30. april 2014 - 12:46 #3
Okay, det var da en lækker lille funktion der er kommet til.
Avatar billede Slater Ekspert
30. april 2014 - 13:39 #4
Jeg vil så faktisk anbefale IKKE at bruge PHPs filter_var til e-mail-adresser, da den stadig ikke understøtter IDN, altså internationale domænenavne. F.eks. email@børge.dk er en helt valid e-mail, men vil blive afvist af den funktion.
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