当前位置: 首页 > 知识库问答 >
问题:

将长度验证合并到现有电子邮件地址格式正则表达式中

姜锋
2023-03-14

我使用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中字符串的长度。

共有2个答案

卢英叡
2023-03-14

我建议你不要施加这样的限制。如果你真的想要正则表达式。正如paxdiablo所说,SO中存在许多问题。正则表达式中的电子邮件验证

^.{1,254}$

http://rick.measham.id.au/paste/explain.pl?regex=^.{1,150}$

蒙勇
2023-03-14

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

^(?=.{5,254})[A-Z0-9'._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}$
 类似资料:
  • 问题内容: 有人可以向我解释这个Java Regex吗? 此正则表达式用于验证 电子邮件地址 。 问题答案: 如今,验证电子邮件地址被认为是一种不好的做法(停止使用regex验证电子邮件地址),尤其是使用问题中的表达式时。例如,这是一个更完整的表达式。 至于此表达式,我们将其分为几部分: 匹配字符串的开头 匹配列表中的至少一个字符 非捕获(请参阅backreference)组,可以重复0..n次,

  • 本文向大家介绍js正则表达式验证邮件地址,包括了js正则表达式验证邮件地址的使用技巧和注意事项,需要的朋友参考一下 我们最经常遇到的验证,就是电子邮件地址验证。网站上常见。各种网页脚本也都常用“正则表达式”(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法。有的还能分解出用户名和域名。现在用JavaScript语言实现一下电子邮件地址验证程序,用的是JavaSc

  • 问题内容: 多年来,我慢慢地开发了一个正则表达式,假设它们不使用IP地址作为服务器部件,则可以正确验证MOST电子邮件地址。 我在几个PHP程序中使用了它,并且大多数时候都可以使用。但是,有时会遇到某个使用它的站点出现问题的人与我联系,最终我不得不进行一些调整(最近我意识到我不允许使用4个字符的TLD)。 您已经或看到的用于验证电子邮件的最佳正则表达式是什么? 我已经看到了几种使用使用几个较短表达

  • 我需要一个正则表达式,将接受格式良好的电子邮件在几种格式(见下文),将在一个逗号分隔的列表中输入。我有基本的电子邮件地址验证正则表达式, 它可以处理测试用例A和B,但不能处理其他。我也试过了 它能够处理A、B和C,但只验证了每个测试用例D和E中的第一个电子邮件地址。我甚至还没有开始测试格式3的正则表达式。 tl;dr需要一个正则表达式来验证电子邮件地址1、2和3。 测试正则表达式的好网站:在线Ja

  • 问题内容: 我正在使用以下正则表达式 它接受#@#.com作为有效电子邮件。我应该使用什么模式? 问题答案: 您应该使用apache- commons电子邮件验证程序。您可以从此处获取jar文件。 这是一个简单的用法示例:

  • 在搜索用于电子邮件地址验证的正则表达式时,我遇到了这个页面:http://www.regular-expressions.info/email.html.我无法理解它。 它表示:\b[A-Z0-9._%-]@(?[A-Z0-9-]。[A-Z]{2,4}\b将匹配john@server.department.company.com但不是john@aol...com. 你能详细解释一下(?:[A-Z0