如何让文本框仅接受有效的电子邮件?

时间:2015-04-23 10:21:50

标签: c# email visual-studio-2013 textbox

我希望我的文本框检查输入文本框的电子邮件是否有效。

到目前为止,我有:

if (!this.txtEmail.Text.Contains('@') || !this.txtEmail.Text.Contains('.')) 
{ 
    MessageBox.Show("Please Enter A Valid Email", "Invalid Email", MessageBoxButtons.OK, MessageBoxIcon.Error); 
}

但这仅测试它是否有'@'和'。'在它。

有没有办法让它检查它是否有.com等只有一个'@'?

3 个答案:

答案 0 :(得分:3)

.NET可以为您完成:

        try
        {
            var eMailValidator = new System.Net.Mail.MailAddress("xyz@blabla.com");
        }
        catch (FormatException ex)
        {
            // wrong e-mail address
        }

答案 1 :(得分:0)

检查MailAddress班级

    var email = new MailAddress("abc123@example.com");

答案 2 :(得分:0)

如果您正在开发一个Web应用程序,现代浏览器支持HTML5,那么您可以使用<input id="txtEmail" type="email" runat="server" />而不是TextBox,它将验证输入是浏览器中的电子邮件(但您也应该在你的代码)。使用txtEmail.Value获取文本字符串。