用于特定域名的电子邮件的正则表达式

时间:2011-09-28 09:38:31

标签: c# asp.net regex

这是我的代码:

<asp:RegularExpressionValidator ID="regexEmail" 
     runat="server" ValidationExpression="(\w+@[test]+?\.[com]{3})" 
     ErrorMessage="Please Enter Valid Email Id" 
     ControlToValidate="txtEmailAddress" />

哪个不行。但我的问题并没有就此结束。我还想知道如何只验证用户名中的字符,而不是数字和特殊字符。

如果有人可以帮助您使用此代码。在此先感谢。

4 个答案:

答案 0 :(得分:7)

^[a-zA-Z]+@yourdomain\.com$

应该做的伎俩

答案 1 :(得分:2)

起初我认为对方括号的理解不足。使用[com]{3},您正在创建一个字符类,并匹配此类中的3个字符,这意味着它将匹配com(我认为您想要的),还有ccc,{{1等等。

类似于cmc,这与[test]+?te

中的至少一个字符相匹配

当你说:

  

仅验证用户名中的字符,而不验证数字和特殊字符   字符

我认为你的意思只是字母?或者只有ASCII字母?

你的意思可能是

s

(\w+@test\.com) 是一个包含A-Za-z0-9和_的字符类(也许是unicode中的任何字母,我不确定)。如果只想要ASCII字符,那么使用\w创建自己的字符类,如果要允许任何字母使用Unicode属性[A-Za-z]

像这样的东西

\p{L}

答案 2 :(得分:1)

[test]可能不是你想要的。它相当于[tes],意思是't'或'e'或's'。

您尝试过类似的事情吗?

^[a-zA-Z]+@.*\.com$

这将验证xxx@xxx.com

形式的电子邮件

作为C#文字,这是"^[a-zA-Z]+@.*\\.com$"

答案 3 :(得分:0)

MSDN有一篇关于电子邮件验证的文章。

http://msdn.microsoft.com/en-us/library/01escwtf.aspx

欢呼声