2009-10-13 7 views
0

J'utilise des formulaires Windows.validation par e-mail sous Windows formulaire

Je veux juste valider ma zone de texte (ou zone de texte masquée) pour l'ID d'e-mail.

Quelqu'un peut-il m'en dire l'idée?

+5

14 questions et pas une réponse acceptée? –

+0

Fredrik Mörk a raison, répondez aux questions ou vous n'obtiendrez pas de réponse dans le futur –

+0

Vous pourriez utiliser regex? Google C# regex et Regex email ... – Peter

Répondre

2

Essayez d'utiliser une expression régulière comme @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"

1

Vous pouvez utiliser le constructeur de la classe System.Net.Mail.MailAdress qui représente les adresses de courrier. Essayez d'initialiser une instance avec votre chaîne et attraper l'exception, qui est levée si la validation a échoué. Quelque chose comme ceci:

try 
{ 
    new System.Net.Mail.MailAddress(this.textBox.Text); 
} 
catch(ArgumentException) 
{ 
    //textBox is empty 
} 
catch(FormatException) 
{ 
    //textBox contains no valid mail address 
} 
1

essayer expression régulière

@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" 

ou vérifiez votre adresse e-mail dans le code

string email=textbox1.text; 
if(email.lastindexof("@")>-1) 
{ 
//valid 
} 
else 
{ 

} 
1

string email=textbox1.text;

System.Text.RegularExpressions.Regex expr= new System.Text.RegularExpressions.Regex(@"^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");

`if (expr.IsMatch(email)) 
      MessageBox.Show("valid"); 

     else MessageBox.Show("invalid");` 
0

Essayez ceci:

private void emailTxt_Validating(object sender, CancelEventArgs e) 

{ 

System.Text.RegularExpressions.Regex rEmail = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"); 

     if (emailTxt.Text.Length > 0 && emailTxt.Text.Trim().Length != 0) 
     { 
      if (!rEmail.IsMatch(emailTxt.Text.Trim())) 
      { 
       MessageBox.Show("check email id"); 
       emailTxt.SelectAll(); 
       e.Cancel = true; 
      } 
     } 
    } 
0

Je vous recommande d'utiliser cette façon et cela fonctionne bien pour moi.

/* Add this reference */ 

using System.Text.RegularExpressions; 

--------------------------- 

if (!string.IsNullOrWhiteSpace(txtEmail.Text)) 
{ 
    Regex reg = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); 
    if (!reg.IsMatch(txtEmail.Text)) 
    { 
     Mensaje += "* El email no es válido. \n\n"; 
     isValid = false; 
    } 
} 
Questions connexes