diff --git a/include/class_tests.inc b/include/class_tests.inc index bbfd623ef3a52f6769c852d7d863e41d548cf0a6..acf2aaf3ecfa89ab2520e1529b065ae34e3483ce 100644 --- a/include/class_tests.inc +++ b/include/class_tests.inc @@ -271,18 +271,18 @@ class tests { * * \param boolean $template FALSE */ - public static function is_email($address, $template= FALSE) + public static function is_email($address, $deprecated = FALSE) { - if ($address == ""){ - return (TRUE); + if ($address == "") { + return TRUE; } - if ($template){ - return preg_match ("/^[._a-z0-9%\+-]+@[_a-z0-9-]+(\.[a-z0-9-]+)(\.[a-z0-9-]+)*$/i", - $address); - } else { - return preg_match ("/^[._a-z0-9\+-]+@[_a-z0-9-]+(\.[a-z0-9i-]+)(\.[a-z0-9-]+)*$/i", - $address); + if (filter_var($address, FILTER_VALIDATE_EMAIL) !== FALSE) { + return TRUE; + } elseif (filter_var($address.'.com', FILTER_VALIDATE_EMAIL) !== FALSE) { + /* this is to allow addresses like example@localhost, which are refused by some PHP version */ + return TRUE; } + return FALSE; }