在网页文本框输入用户资料时,我们通常需要检查邮箱格式的合法性,验证邮箱格式的方法有很多种,本例子是说明怎样自定义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>";
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。