发布网友 发布时间:2022-04-21 16:47
共1个回答
热心网友 时间:2022-04-06 02:54
//首先确认是否有一个@符号的存在,同时验证邮箱长度是否正确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)){