本文分享一些用于验证email地址的php代码,有需要的朋友,参考学习下吧。
比如,在用户注册程序中,我们经常要检测下输入的邮箱地址是否正确,可以用如下的代码:
1 2 3 4 5 6 | <?php
if ( eregi ( "^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]" , $email ))
{
return FALSE;
}
?>
|
Copier après la connexion
或者这样:
1 2 3 4 5 | <?php
function checkmail( $email ){
return eregi ( "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$" , $email );
}
?>
|
Copier après la connexion
以上的代码中,只是简单的检测了邮箱格式是否正确,并没有针对具体域名进行检查。
假如要检查类似mailname@domainname.xxx中,@后面的部分。
可以通过检测域名,来更确切地判断邮箱地址是否有效。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php
list( $mailusername , $Domainname ) = split( "@" , $myemail );
if ( getmxrr ( $Domainname , $MXHost ))
{
return TRUE;
}
else
{
if ( fsockopen ( $Domainname , 25, $errno , $errstr , 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
?>
|
Copier après la connexion |