the following articles might be helpful:Effective Email Address Validation
http://www.codeproject.com/aspnet/Valid_Email_Addresses.asp

解决方案 »

  1.   

    bool b = Regex.IsMatch("An E-Mail Address", @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
      

  2.   

    public static Regex RegEx_EmailAddress = 
    new Regex(@"^([^<>()\[\]\\.,;:@""\x00-\x20\x7F]+(\.[^<>()\[\]\\.,;:@""\x00-\x20\x7F]+)*)@(([a-z0-9])([a-z0-9-])*([a-z0-9])\.)+([a-z]{2,4})$", 
    ([a-z0-9]|#\d+?)\.)+([a-z]{2,4})$", 
    RegexOptions.Compiled);
    这是我个人一直使用的正则表达式,这个表达式并不是完全符合 email 地址协议的,但已符合我们通常见到的一些邮箱地址表达方式。以前我也用过完全符合标准协议的表达式,但过于复杂,性能不好,所以改进成上述的方式。此表达式支持检查“[email protected]”这样的邮箱地址。
      

  3.   

    ([a-z0-9]|#\d+?)\.)+([a-z]{2,4})$", 这一行要去掉
      

  4.   

    string ExpressionEmail ="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";