Sådan valideres e-mailadresser i et PHP-script

E-mail-adresser: Let at oprette, svært at skrive.

Meget kan gå galt. Meget kan se alt forkert og være okay. Meget kan se rigtigt og slet ikke fungere.

At få e-mail-adresser du samler - for nyhedsbrev, siger eller for adgangskode hentning - at i det mindste overholde standarderne (hvis ikke sikre) er afgørende, selvfølgelig og ekstremt vanskelig.

Heldigvis leveres PHP (5 og senere) med et praktisk sæt funktioner og filtre, der gør testen for e-mail-adresse gyldighed et øjeblik.

Validér e-mailadresser i et PHP-script

At validere en e-mail-adresse for korrekthed (ikke kontrollere, om adressen rent faktisk fungerer og læs) i PHP:

FILTER_VALIDATE_EMAIL PHP Email Address Validation Caveats

Bemærk, at FILTER_VALIDATE_EMAIL vil validere e-mailadresser, der indeholder domæner og domæner på øverste niveau, der ikke findes. Hvis du vil undgå disse, kan du teste for domæner på øverste niveau, der er mere end 4 tegn lange (som fejlagtigt kaster ud ".museum") eller for domænenavne, der er enten 2 tegn lange (hele landets top- niveau domæner) eller et af de kendte domæner på øverste niveau (som du skal opdatere, da listen ændres).

FILTER_VALIDATE_EMAIL fejler fejlagtigt ved e-mail-adresser med lange domænenavne (64 tegn eller mere) og i e-mailadresser med undslippede tegn (f.eks. "Mig \" @ example.com "). For at undgå disse falske positiver kan du vende tilbage til en klasse som php-email-adresse-validering.

FILTER_VALIDATE_EMAIL e-mail-valideringseksempler

Hvis du antager $ email_address, bliver adressen bekræftet, kan du prøve dens gyldighed ved at bruge:

Du kan også filtrere en e-mail-adresse direkte fra webformularen (forudsat at email-adressen blev taget i feltet med navnet "email"):