2015-06-21 180 views
0

对于我的学校考试,我们必须验证电子邮件地址,但不允许使用RegularExpressionValidator。我正在尝试用Custom Validator来解决这个问题,但我无法弄清楚。 (电子邮件输入在文本框(tb_email)ASP.NET自定义验证电子邮件

我试图解决这个问题是这样的:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     if (tb_email.Text == \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*) 
     { 
      args.IsValid = true; 
     } 
     else 
     { 
      args.IsValid = false; 
     } 
    } 

或这样的事情出现在脑海:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     if (tb_email.Text != "") 
     { 
      string filter = \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*; 
      args.IsValid = true; 
     } 
     else 
     { 
      args.IsValid = false; 
     } 
    } 

我越来越庞大错误和我只是无法弄清楚如何做到这一点,我已经做了很多搜索,但我只能找到答案:只使用正则表达式验证器或Java中的代码解决方案(我还没有学到) 我真的很感激一个很好的答案!谢谢

回答

0

你可以使用没有REgularExpressionValidator的正则表达式吗?如果这样的话:

using System; 
using System.Text.RegularExpressions; 

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
{ 
    if (tb_email.Text != "") 
    { 
     string filter = \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*; 

     Regex regex = new Regex(filter); 
    Match match = regex.Match(tb_email.Text); 
    if (match.Success) 
    { 
     args.IsValid=true; } 
     else 
     { 
     args.IsValid = false; 

    } 
} 

在客户端(JavaScript)看到这个帖子:

Validating email addresses using jQuery and regex