【问题标题】:Email Regular Expression电子邮件正则表达式
【发布时间】:2015-11-02 02:37:15
【问题描述】:

我需要一个可以允许它以 .com 和 mydomain.local 结尾的正则表达式。我可以根据环境有两个单独的正则表达式,因为电子邮件域不同。

有人可以帮我解决 mydomain.local 问题吗?我想我有一个 .com 的工作正常

所以电子邮件可能是:email@test.mydomain.local 或 email@mydomain.local,但我需要它在 mydomain.local 中结束。

由于某种原因,.com 不适用于 mydomain.local。

.com 基于环境在运行时构建的正则表达式:

        sb.Append(@"\w+([-+.']\w+)*@\w+([-.]\w+)*?\.");
        sb.Append("[");
        sb.Append(emailDomainLower);
        sb.Append("|");
        sb.Append(emailDomainUpper);
        sb.Append("]");
        sb.Append("{");
        sb.Append(emailDomainLower.Length.ToString());
        sb.Append("}");

        string finalRegexPutTogether = sb.ToString();

【问题讨论】:

  • 更好的方法是使用MailAddress来验证邮件,然后选择域并使用正则表达式进行验证。

标签: regex email


【解决方案1】:

这个来自 Hartl Rails 教程,刚刚针对您的字符串模式进行了测试,它可以工作: https://www.railstutorial.org/book/modeling_users

VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

【讨论】:

  • 我在哪里指定 mydomain.local 呢?以确保它以此结束?
猜你喜欢
  • 2011-12-28
  • 2012-01-02
  • 2015-12-03
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
相关资源
最近更新 更多