【发布时间】:2017-10-05 20:33:17
【问题描述】:
我尝试使用以下正则表达式代码检查电子邮件是否有效。
/[0-9A-Za-z-_.]{1,64}[\@][0-9a-zA-Z\-]{1,63}[\.][a-zA-Z\-]{2,24}/
但在测试中,我发现test---@gmail.com 或test-.-@gmail.com 或test-.@gmail.com 或test.@gmail.com 或test__@gmail.com 或__--.test@gmail.com 等无效电子邮件被标记为有效。
我认为没有有效的电子邮件是 . , _ , - 在开头或结尾,而不是在彼此之后,如 -- 或 __ 或 -。或.- ...
我能做些什么让它变得更好?
【问题讨论】:
-
“我能做些什么让它变得更好?” --- 您无法使用正则表达式验证电子邮件。
-
您的大多数示例都是有效的电子邮件。
-
@AlexHowansky 你是怎么得出这个观点的?您是否曾尝试通过例如 outlook.com 或 gmail.com 注册这些电子邮件?
-
@zerkms 这是什么答案?你的任何其他好主意;-)
-
“你是怎么得出这个意见的?”见RFC822第6.1节。
标签: php regex validation email email-validation