PHP manual 里, http://php.net/manual/en/function.filter-var.php ,有好几个 note ,都不推荐使用 PHP 自带的 FILTER_VALIDATE_EMAIL 对 email 地址进行验证( validation )。
其中一个 note 是这样的: Do not use FILTER_VALIDATE_EMAIL in production! It's not compatible with mail standarts
我给此 note 的作者写邮件,他回复说:
For moment I use regex "\S@\S" and validation by DNS query (MX).
I have some valid examples to test: andrey.k.p@gmail.com admin@шина.рф 9test+issue12@test15
You should analise a lot of RFC about mail and DNS subsystem before filter creation. Also there are interesting idea to use validation by UTF8 diapasons (in coments http://php.net/manual/en/function.filter-var.php).
那么,我有 3 个问题: 1 、什么是 validation by DNS query ( MX )?啥意思? 2 、各位高人都是处理 email 地址的 validation 的呢? 3、有没有现成的轮子,直接可用的? 谢谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.