使用system.net.mail验证电子邮件

时间:2014-07-14 19:40:24

标签: vb.net

我有以下代码来验证电子邮件。如果只输入简单文本,它运作良好。但是当我输入部分文本时说test @,它不会抛出异常。你能指导一下我错过了什么。

Try
    Dim M As New System.Net.Mail.MailAddress(Txt_Email.Text)
Catch ex As FormatException
    MsgBox(ex.Message, MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
    Txt_Email.Text = string.Empty
Exit Sub
End Try

感谢Adavance

欧麦

1 个答案:

答案 0 :(得分:0)

您可以执行简单检查,验证给定的电子邮件地址,例如:

Public Function EmailIsValid(emailaddress As String) As Boolean
    Try
        Dim address = New MailAddress(emailaddress)
        Return True
    Catch ex As Exception
        Return False
    End Try
End Function

称之为:

Dim result as Boolean = EmailIsValid(Txt_Email.Text)
如果这是一个有效的电子邮件地址,

结果将填充为true,如果不是,则填充为false。但是,有更好的方法来检查电子邮件地址是否有效。也许使用正则表达式。

我上面提到的方式并不好,因为使用try/catch操纵代码是一个坏主意。

可以在此处找到正则表达式:Using a regular expression to validate an email address