如何判断某字符串是否为一个合法的邮箱地址

tonydeath 2009-11-15 06:10:09
// 判断某字符串是否为一个合法的邮箱地址,合法邮箱地址要求如下:
字符必须是英文或数字下划线开始
必须包含一个@
包含一个.符号
@符号在. 符号前面
不能以@或. 符号结尾
长度不能长于30
...全文
1586 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyp71887188 2009-11-16
  • 打赏
  • 举报
回复
1)Javascript实现:
function checkEmail(form){
re=/^[^\s]+@[^\s]+\.[^\s]+$/;
if(re.test(form.value)){
alert(‘符合验证’);
}else{
alert(‘验证失败’);
}
}
(2)php实现
function CheckMailAdr($str){
return(eregi(“^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$“,$str));
}
(3)
function validateEmail($email)
{
if(eregi('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$',$email) ){
return true;
}else{
return false;
}
}
guosheng1987 2009-11-16
  • 打赏
  • 举报
回复
php5
filter_var()
GaoXX 2009-11-16
  • 打赏
  • 举报
回复
扒Zend的

public function checkEmailValid($email) {
if ((strpos($email, '..') !== false) or
(!preg_match('/^(.+)@([^@]+)$/', $email, $matches)))
return false;

$localPart = $matches[1];
$hostname = $matches[2];
if ((strlen($localPart) > 64) || (strlen($hostname) > 255))
return false;

$atext = 'a-zA-Z0-9\x21\x23\x24\x25\x26\x27\x2a\x2b\x2d\x2f\x3d\x3f\x5e\x5f\x60\x7b\x7c\x7d\x7e';
if (preg_match('/^[' . $atext . ']+(\x2e+[' . $atext . ']+)*$/', $localPart)) {
return true;
}
$noWsCtl = '\x01-\x08\x0b\x0c\x0e-\x1f\x7f';
$qtext = $noWsCtl . '\x21\x23-\x5b\x5d-\x7e';
$ws = '\x20\x09';
if (preg_match('/^\x22([' . $ws . $qtext . '])*[$ws]?\x22$/', $localPart)) {
return true;
}
return false;
}
huangshilin 2009-11-15
  • 打赏
  • 举报
回复
用一个正则表达式就可以了
tonydeath 2009-11-15
  • 打赏
  • 举报
回复
只用一个正则表达式就可以了么
阿_布 2009-11-15
  • 打赏
  • 举报
回复
"^[a-zA-Z0-9_][^@]+@[^\.]+.*?[^@\.]$"

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧