Avatar billede venchil Nybegynder
27. april 2011 - 17:29 Der er 6 kommentarer

E-mail domæne regex

Hej eksperter

Jeg sidder og skal validere nogle E-mail DOMÆNER, altså den del af E-mail adressen, der kommer efter @. Jeg har hidtil brugt følgende kode:

if (!preg_match("/^[a-z0-9][a-z0-9\-]*[a-z0-9](\.[a-z]{2,4})+$/i", trim($email_fragment))) {

// Domænet er ikke gyldigt

}

Men i dag prøvede jeg at køre et domæne som f.eks. "dk.ibm.com" igennem, og den returnerer en fejl.

Er der en regex-ekspert der kan hjælpe mig med at få den til at acceptere subdomæner også? Det ville jeg være meget taknemmelig for.


Med venlig hilsen,


Mads
Avatar billede zacariaz Nybegynder
27. april 2011 - 18:06 #1
Jeg er ikke sikker på at et subdomain overhovedet kan indgå som del af en email, men det kan gøres således med regex:

-cut-

Har besluttet i stedet at give et link the det første resultat fra google søgningen på titlen til denne tråd, som burde forklare alt, samtidig med at det måske kan lære dig et og andet: http://www.regular-expressions.info/email.html


Held og lykke.
Avatar billede repox Seniormester
27. april 2011 - 18:44 #2
#1
Selvfølgelig kan et subdomæne bruges til email - hvorfor skulle det ikke kunne det?

#0
Har du prøvet at kigge på PHP's filter funktioner?
Avatar billede zacariaz Nybegynder
27. april 2011 - 19:00 #3
#2
Fordi en domæne refererer til server, hvorimod et subdomain, almindeligvis, refererer til en location på en server.
Under alle omstændigheder sagde jeg at jeg ikke var sikker.
Avatar billede repox Seniormester
27. april 2011 - 19:47 #4
#3
Et domæne peger på en navneserver. Den navneserver er ansvarlig for at pege trafikken videre til den den host som er angivet hos den pågældende navneserver. Den samme navneserver håndterer også subdomænerne.
Avatar billede wanze Nybegynder
27. april 2011 - 21:03 #5
@zacariaz:
Et domæne og et underdomæne har præcis de samme egenskaber og kan ligeledes pege på præcis de samme ting.

Ligelede kan eksempel.dk, foo.eksempel.dk og bar.eksempel.dk også pege på 3 vidt forskellige servere. At det typisk er lavet således, at *.eksempel.dk peger på den samme server er en helt anden snak.

Desuden er der forskellige records, der håndterer de forskellige typer trafik. Det betyder altså også, at hvis du sætter to records op for eksempel.dk; en A-record der peger på Server A server og en MX-record der peger på Server B, så vil al webtrafik blive sendt til Server A, hvorimod alle emails vil blive sendt til Server B.
Avatar billede zacariaz Nybegynder
27. april 2011 - 21:09 #6
Først af alt, tak for forklaringerne. Jeg værtsætter indsatsen, men det er ikke hvad denne tråd handler om.

Jeg vil godt i den forbindelse gøre det klart at jeg på intet tidspunkt, ikke med vilje i hvert fald, har påstået at det ikke kan lade sig gøre.
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