c#中地址邮件的正则表达式验证器

时间:2016-03-11 09:09:29

标签: c# regex email

我需要检查地址电子邮件在我的aspx页面的标记中是否正确。

可能的地址电子邮件地址是:

  

名称(AndAnyNumber).Surname(AndAnyNumber)@ march.com

我尝试了 RegularExpressionValidator

  <asp:RegularExpressionValidator ID="retxtEmail" runat="server" 
     ControlToValidate="txtEmail"
     ErrorMessage="Not valid" Text="Not valid" Display="Dynamic" 
     ValidationExpression="^([a-z][a-z0-9]*\\.[a-z][a-z0-9]*@march\\.com)$"  
     SetFocusOnError="true" EnableClientScript="true"></asp:RegularExpressionValidator>

因为地址电子邮件而成功:

  

tom.shepard2@march.com

返回无效,为什么?

你能帮我解决一下这个问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您的regex存在问题。请将此regex替换为:

^([a-zA-Z]+[0-9]+\.[a-zA-Z0-9]+@march\.com)$

如果数字不是必填项,则将[0-9]+替换为[0-9]*

答案 1 :(得分:1)

这个正则表达式已经过测试,使用Regex Coach(一个很好的免费工具来编写正则表达式)。

^[a-z][a-z0-9]*\.[a-z][a-z0-9]*@march\.com$

问题是:

使用

  • 无需捕捉括号
  • 目前区分大小写。电子邮件地址往往不是。
  • 双反斜线 - 这对我来说是个问题,虽然这可能是ASP.NET的东西