我在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#中字符串的长度。
答案 0 :(得分:0)
我建议你不要这样限制。如果你真的想要正则表达式。正如paxdiablo所说,SO中存在许多问题。 Email validation in regex
^.{1,254}$
http://rick.measham.id.au/paste/explain.pl?regex=%5E.%7B1%2C150%7D%24
答案 1 :(得分:0)
虽然单独进行长度检查可能更简洁,但您可以通过在表达式的开头添加非捕获前瞻来合并长度约束:
^(?=.{5,254})[A-Z0-9'._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}$