E-Mail Adressen prüfen nach RFC2822

Diese PHP Funktion prüft E-Mail Adressen nach RFC2822 auf Gültigkeit.

  1.  
  2. <?
  3. if (check_email_address($email)) {
  4.     echo $email . ‘ is a valid email address.’;
  5. } else {
  6.     echo $email . ‘ is not a valid email address.’;
  7. }
  8.  
  9. function check_email_address($email) {
  10.     // check one @ symbol, and that the lengths are right
  11.     if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
  12.         // Email invalid because wrong number of characters
  13.         // in one section, or wrong number of @ symbols.
  14.         return false;
  15.     }
  16.     // Split it into sections to make life easier
  17.     $email_array = explode("@", $email);
  18.     $local_array = explode(".", $email_array[0]);
  19.     for ($i = 0; $i < sizeof($local_array); $i++) {
  20.         if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~.-]{0,63})|("[^(\|")]{0,62}"))$", $local_array[$i])) {
  21.             return false;
  22.         }
  23.     }
  24.     // Check if domain is IP. If not, it should be valid domain name
  25.     if (!ereg("^[?[0-9.]+]?$", $email_array[1])) {
  26.         $domain_array = explode(".", $email_array[1]);
  27.         if (sizeof($domain_array) < 2) {
  28.             // Not enough parts to domain
  29.             return false;
  30.         }
  31.         for ($i = 0; $i < sizeof($domain_array); $i++) {
  32.             if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
  33.                 return false;
  34.             }
  35.         }
  36.     }
  37.     return true;
  38. }
  39. ?>
  40.  

 

2 Kommentare zu “E-Mail Adressen prüfen nach RFC2822”

  1. 2
    Admin@Darkness-hs.de sagt:

    Das Script macht einem das leben leichter, Danke.

  2. 1
    momo sagt:

    Hey danke genau das habe ich gesucht.

Kommentar schreiben