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>";
}
}