开发者社区> 问答> 正文

PHP邮箱地址验证问题

邮箱地址验证是个很常见的问题,许多框架也内置了验证类,但是我见过的框架几乎都是通过正则表达式来验证的。PHP 不是有原生的验证函数,并且拥有 E-mail 地址验证功能吗?

if (filter_var("xxx@xxx.com", FILTER_VALIDATE_EMAIL)) {
// 有效
} else {
// 无效
}

那为何这些框架都舍近求远呢?是这个函数有什么缺陷或有不如正则匹配的地方吗?

展开
收起
吴孟桥 2016-06-07 14:26:41 2751 0
1 条回答
写回答
取消 提交回答
  • 手册上

    filter_var (PHP 5 >= 5.2.0)

    验证Email没必要也不太可能做到很严格。如果只是简单验证并且考虑兼容正则是最好的。比较严格的可以使用filter_var,这个验证可能会经常失败,比如碰到网络延时严重的邮箱,也不可靠。

    实在要严格的话最简单的办法就是用邮件验证。这种方法是最稳妥的。

    2019-07-17 19:30:03
    赞同 展开评论 打赏
问答分类:
PHP
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载