c# - 使用 regex + c# 限制邮件地址的最大长度

标签 c# regex

我创建了一个正则表达式来验证电子邮件地址这是我的正则表达式:

@"^\w+(\.?[-+\w])*@\w+([-.]\w+)*\.[a-zA-Z]{2,80}$"

我希望邮件地址的最大长度为 80,但使用此正则表达式我只限制邮件在 之后的最后一部分。

现在

aaa@aa.ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff is invalid

但是

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@aa.ffffffff is valid

我该怎么做?

最佳答案

您可以在两步内验证。请尝试一下。

   Regex validCharsRegex = new Regex(@"^[\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*" +
                                                      "@" + @"((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))$");
   Match match = validCharsRegex.Match(stringText.Trim());
   if (match.Success && stringText.Length <=80 )
   {
     // You logic here
   }

关于c# - 使用 regex + c# 限制邮件地址的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19677404/

相关文章:

C# Mongo 查询效率

c# - 当 Panel.AutoSize = true 时添加控件后 Panel.Size 何时更新?

python - 寻找终止密码子

regex - Rails 6 - 符合 RFC5322 的电子邮件验证

java - 使用相同的字符串部分进行正则表达式检查

C# If 语句,其中日期是本月

c# - 在 Visual Studio 中显示不友好的 HTTP 500 错误

python - 是否有一个很好的正则表达式来对收到的 SIP 邀请进行多行匹配?

regex - 正则表达式 :buffer same characters

c# - 如何在 C# 的 getter 和 setter 方法中进行验证?