2011-05-01 133 views

回答

5

如果你想检查是否有电子邮件地址的存在,看看checkdnsrr

if (checkdnsrr('[email protected]', 'MX')) { 
    echo ':)'; 
} 
else { 
    echo ':('; 
} 

如果你想检查一个字符串是否是一个电子邮件地址,还有数以百万计的常客表情在那里。有一个本地函数在PHP中,filter_input这样做,以为我个人从未使用它。

+0

尝试与我的个人电子邮件。没有工作。 – 2011-05-01 14:55:33

+0

需要PHP 5.3+或非Windows平台才能工作。 – Archimedix 2011-05-01 15:28:56

+0

没有为我的5个电子邮件地址工作(其中3个是Google Apps帐户,其中一个是Hotmail,最后一个是常规GMail帐户)。我在Debian系统上使用PHP 5.3.3-7。 – 2011-07-09 19:00:06

5

filter_var($input, FILTER_VALIDATE_EMAIL)

+0

可能与PHP版本有关,但可能不完全支持具有Unicode字符(IDN)的国际域名。 – Archimedix 2011-05-01 15:29:44

5
function isemail($email) { 
    return strlen($email) > 6 && preg_match("/^[\w\-\.][email protected][\w\-\.]+(\.\w+)+$/", $email); 
} 
+2

这是一个非常严格的电子邮件正则表达式 – 2011-05-01 15:05:53