2015-06-21 3 views
0

Для моего школьного экзамена мы должны проверить адрес электронной почты, , но не разрешены использовать RegularExpressionValidator. Я пытаюсь решить это с помощью Custom Validator, но я не могу понять это. (Вход E-mail находится в текстовом поле (tb_email)ASP.NET Custom Validate Email

Я пытаюсь решить, как это:.

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