Domanda

   public void Form1_Load(Object sender, EventArgs e) 
    {
          // Other initialization code
         mtxtEmailID.Mask = ".........."; 

what should be the Mask Type in place of dots

         mtxtEmailID.MaskInputRejected += new MaskInputRejectedEventHandler(mtxtEmailID_MaskInputRejected)
    }

   void mtxtEmailID_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
   {
      if(!Regex.IsMatch(txtEmailID.Text, "^[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]$"))  

the regex here gives me error, let me know what is the right one for email validation.

         {
         toolTip1.ToolTipTitle = "Invalid Input";
         toolTip1.Show("Enter valid email address", mtxtEMailID);
         }
   }
È stato utile?

Soluzione

You can find info about MaskedTextBox here


If you want to validate an Email Address Regex is not the right choice.There are many corner cases that the regex wont cover...

Use MailAddress

try 
{
   address = new MailAddress(address).Address;
   //email address is valid since the above line has not thrown an exception
} 
catch(FormatException) 
{
   //address is invalid
}

But if you need regex, it should be:

.+@.+

Altri suggerimenti

This kind of approach in my project made the email validation simple considering only few factors which are important in email like '@' and '.' . I felt not to make it complex as email address for every one isn't compulsory.

    private void txtEmailID_Validating(object sender, System.ComponentModel.CancelEventArgs e)
    {
        string errorMsg;
        if (!ValidEmailAddress(txtEmailID.Text, out errorMsg))
        {
            // Cancel the event and select the text to be corrected by the user.
            e.Cancel = true;
            txtEmailID.Select(0, txtEmailID.Text.Length);

            // Set the ErrorProvider error with the text to display.  
            this.errorProvider1.SetError(txtEmailID, errorMsg);
        }
    }


    public bool ValidEmailAddress(string txtEmailID, out string errorMsg)
    {
        // Confirm that the e-mail address string is not empty. 
        if (txtEmailID.Length == 0)
        {
            errorMsg = "e-mail address is required.";
            return false;
        }

        // Confirm that there is an "@" and a "." in the e-mail address, and in the correct order.
        if (txtEmailID.IndexOf("@") > -1)
        {
            if (txtEmailID.IndexOf(".", txtEmailID.IndexOf("@")) > txtEmailID.IndexOf("@"))
            {
                errorMsg = "";
                return true;
            }
        }

        errorMsg = "e-mail address must be valid e-mail address format.\n" +
           "For example 'someone@example.com' ";
        return false;
    }

    private void txtEmailID_Validated(object sender, EventArgs e)
    {
        // If all conditions have been met, clear the ErrorProvider of errors.
        errorProvider1.SetError(txtEmailID, "");
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top