【发布时间】:2017-01-15 18:26:55
【问题描述】:
我已经有一个来自 RFC 2822 FORMAT 的电子邮件地址正则表达式
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
但想修改它以包含以下一些新条件:
- 至少一个句号
- 至少一个@字符
- 没有连续的句号
- 不得以特殊字符开头/结尾,即只能以 [0-9a-zA-Z] 开头/结尾
- 仍应遵循正则表达式规则的 RFC 规范。
目前,上述允许电子邮件以特殊字符开头。它还允许两个连续的句号(域名除外,这很好,所以 test@test..com 失败并且它是正确的)。
谢谢。
【问题讨论】:
-
很高兴告诉我们你想做什么,如果你有问题,也许回来告诉我们什么不适合你?
-
我建议从正确的正则表达式开始(来自stackoverflow.com/questions/20771794/mailrfc822address-regex),正如@KeithNicholas 指出的那样,您需要的不仅仅是帖子中的要求列表。
-
我不认为你可以用一个正则表达式完成所有这些
-
正如我所说,您还没有问过问题。您已发表声明。这是一个问答网站,这意味着应该提出一个明确、具体的问题。你还没有这样做,你也没有表现出任何你尝试过的迹象(你甚至没有在问题中说你做了)或解释了这种努力是如何不起作用的。所有这些都解释了我最后的评论。如果您还有其他不清楚的地方,请告诉我。
-
你应该看看this
标签: c# regex email-validation