【问题标题】:How to validate the mail in the server side如何在服务器端验证邮件
【发布时间】:2011-11-29 21:25:08
【问题描述】:

如何在服务器端验证电子邮件。我知道如何在客户端做到这一点,但服务器端呢?

【问题讨论】:

    标签: asp.net ajax regex validation email-validation


    【解决方案1】:

    你可以试试这个。

     String mail = "YYY@imail.com";
     string expression = @"^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|" +@"0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\.([a-z]" +@"[a-z|0-9]*(\.[a-z][a-z|0-9]*)?)$";
    
                Match match = Regex.Match(mail, expression, RegexOptions.IgnoreCase);
                if (match.Success)
                    Response.Write("VALID EMAIL");
                    else
                     Response.Write("INVALID EMAIL");
                return;
    

    【讨论】:

      【解决方案2】:

      你可以使用RegularExpressionValidator:

      <asp:RegularExpressionValidator
              id="regEmail"
              ControlToValidate="txtEmail"
              Text="(Invalid email)"
              ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
              Runat="server" /> 
      

      至于要使用的正则表达式,只需选择一个适合您需要的即可。

      【讨论】:

      • 那么如何仅在服务器端进行验证?
      • @just_name,RegularExpressionValidator 控件在服务器端进行验证。 IIRC 有一个选项,您也可以让它发出客户端验证,但它至少会在服务器上验证。
      • 在验证器中将 EnableClientScript 属性设置为 false。
      • 因为我会在某些条件下进行验证(复选框)。如果为真,则验证并比较验证以确认邮件,如果不禁用文本框,则不进行验证。
      • @just_name,在这种情况下,您可以使用 CustomValidator 控件:msdn.microsoft.com/en-us/library/…,如果满足条件,则在服务器上手动应用正则表达式。
      猜你喜欢
      • 2017-02-07
      • 2011-01-21
      • 2015-06-06
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多