当前位置:编程学习 > php >>

php 验证邮箱格式的函数代码和正则表达式

一个验证邮箱格式是否正确的php函数的例子


在网页文本框输入用户资料时,我们通常需要检查邮箱格式的合法性,验证邮箱格式的方法有很多种,本例子是说明怎样自定义PHP函数来验证,以下是验证邮箱格式的代码:

<?

    //PHP验证邮箱格式的函数
    function valid_email($email) {
    //首先确认是否有一个@符号的存在,同时验证邮箱长度是否正确
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
        //如果@符号的个数不对,或者邮箱每部分的长度不对则输出错误
        return false;
    }
    //把邮箱按“@”符号和“.”符号分割成几个部分分别用正则表达式匹配

    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
        if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
            return false;
        }
    }
    if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {

        //检查域名部分是否是IP地址,如果不是则应该是有效域名

        $domain_array = explode(".", $email_array[1]);
        if (sizeof($domain_array) < 2) {

            //域名部分的长度不能太短,否则输出错误
            return false;

        }
        for ($i = 0; $i < sizeof($domain_array); $i++) {
            if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {

                //域名部分如果不是字母和数字,或者允许的其他字符,则输出错误
                return false;
            }
        }
    }

    //所有检测通过,输出邮箱格式正确
    return true;
}

?>

<?

//邮箱格式验证函数调用示例

if(!valid_email($myeml)){
    echo"<script>alert('Please enter a valid e-mail address');location.href='javascript:history.back()'</script>";
    break;
}
?>
============================


php正则表达式怎么验证邮箱格式?


电子邮箱格式,怎么验证?正则表达式的匹配模式怎么写`?


<?php
$mode="/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/";
$str="邮箱";
if(preg_match($mode,$str,$content)){
 echo "输入的邮箱有效";
}
else{
 echo "您输入的邮箱格式有误";
 die();
}
?>

=================================

判断邮箱格式是否正确

if(trim($e_mail) != '')
 {
  $pattern = '/^[a-zA-Z][a-zA-z0-9-]*[@]([a-zA-Z0-9]*[.]){1,3}[a-zA-Z]*/';
  if(preg_match($pattern,$e_mail) != 1)
  {
   echo "<script>alert('邮箱格式不正确!');</script>";
  
        }
 }

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,