MySQL验证电子邮件记录

The*_*Kid 5 php mysql validation email-validation

我知道您可以使用PHP电子邮件验证过滤器来检查数据是否是 abc @ abc . ext

无论如何我可以运行MySQL查询来执行此操作,仅检查该样式格式.否则,我将不得不进行分页并加载平衡限制脚本以从数据库中选择所有记录(50,000+),并且我的客户端在共享主机上服务器已经很慢.

我只是想查看只有有效电子邮件的列表,还可以检查重复或与like查询的相似之处吗?

感谢任何合作.

Oye*_*eme 13

有些像这样

SELECT * FROM users WHERE email NOT REGEXP '^[^@]+@[^@]+\.[^@]{2,}$';
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM users WHERE email NOT REGEXP '^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$';
Run Code Online (Sandbox Code Playgroud)

更新.这只是一个例子,如何在Mysql中使用正则表达式.

  • 怎么样`.museum`域名? (4认同)

Mar*_*rco 9

你可以使用这样的东西

SELECT * FROM your_table
WHERE email_col LIKE '%@%.%'
Run Code Online (Sandbox Code Playgroud)

得到(非常)有效的电子邮件,不包括那些肯定错误的电子邮件.
但你应该检查结果,以确定你所展示的......
无论如何,这是一个起点......