Validate email address function

Categories:

function Validate_Email_Address_Format($email_address) {
 
  if (preg_match(';^(?=.{6,256}$)(([a-z0-9!#$%&\'*+\-/=?^_`{|}~]|(?<!^)\.(?!\.|@)){1,64}|^"([\x01-\x08\x0b\x0c\x0e-\x1f\x20\x21\x23-\x5b\x5d-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f]){1,64}")@(?=.{1,255}$)(?!.{1,252}\.([0-9]{2,64}|.)$)([a-z0-9]([a-z0-9\-]{0,61}[a-z0-9])?\.){1,126}([a-z0-9]([a-z0-9\-]{0,61}[a-z0-9])$)|\[((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|([a-z0-9\-]*[a-z0-9]:(([0-9a-f]{1,4}(:[0-9a-f]{1,4}){7})|([0-9a-f]{1,4}(:[0-9a-f]{1,4}){5}:((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(\[((::)|(([0-9a-f]{1,4}:){1,6}:)|((:(:[0-9a-f]{1,4}){1,6})|(([0-9a-f]{1,4}:){1}(:[0-9a-f]{1,4}){1,5})|(([0-9a-f]{1,4}:){2}(:[0-9a-f]{1,4}){1,4})|(([0-9a-f]{1,4}:){3}(:[0-9a-f]{1,4}){1,3})|(([0-9a-f]{1,4}:){4}(:[0-9a-f]{1,4}){1,2})|(([0-9a-f]{1,4}:){5}(:[0-9a-f]{1,4}){1,1})))\])|(\[((::)|(([0-9a-f]{1,4}:){1,4}:)|((:(:[0-9a-f]{1,4}){1,4})|(([0-9a-f]{1,4}:){1}(:[0-9a-f]{1,4}){1,3})|(([0-9a-f]{1,4}:){2}(:[0-9a-f]{1,4}){1,2})|(([0-9a-f]{1,4}:){3}(:[0-9a-f]{1,4}){1,1})):)\]((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))))\]$;iu', $email_address))
  {
    return TRUE;
  }
  return FALSE;  
}