将长度验证合并到现有的电子邮件地址格式regex中

本文关键字:电子邮件 地址格式 regex 验证 合并 | 更新日期: 2023-09-27 18:01:24

我在c#中使用这个正则表达式基于http://www.regular-expressions.info/email.html:

的信息进行电子邮件格式验证。
Regex.IsMatch("test@gmail.com", 
              @"^[A-Z0-9'._%+-]+@(?:[A-Z0-9-]+'.)+[A-Z]{2,4}$",RegexOptions.IgnoreCase);

我还想验证电子邮件的总长度在5 - 254个字符之间。这个正则表达式应该如何修改以满足长度条件?我不想在c#中显式地检查字符串的长度

将长度验证合并到现有的电子邮件地址格式regex中

虽然单独进行长度检查可能更简洁,但您可以通过在表达式的开头添加非捕获前瞻性来合并长度约束:

^(?=.{5,254})[A-Z0-9'._%+-]+@(?:[A-Z0-9-]+'.)+[A-Z]{2,4}$

我建议你不要做这样的限制。如果你真的想要正则表达式。正如paxdiablo所说,SO中存在许多问题。regex

中的电子邮件验证
^.{1,254}$
http://rick.measham.id.au/paste/explain.pl?regex=%5E.%7B1%2C150%7D%24