2011-12-31 93 views
0

我有一個帶有電子郵件地址的簡單文本框。在WinForms中驗證電子郵件地址的最佳方法

我需要知道找出該電子郵件地址是否有效的最佳和最簡單的方法。我想知道我該怎麼做。

我試過使用下面的代碼,但它不顯示任何消息對我?任何人都可以指出我正在犯的錯誤嗎?

Public Function IsValidEmailAddress(ByVal email As String) As Boolean 
    Try 
     Dim ma As New MailAddress(email) 
     MsgBox(True, MsgBoxStyle.Information) 
    Catch 
     MsgBox(False, MsgBoxStyle.Information) 
    End Try 
End Function 

我調用這個函數是這樣的:

Call IsValidEmailAddress(txtEmail.txt) 
+0

我不知道MailAddress()是做什麼的,但是很多電子郵件地址驗證例程都錯了,因爲規則比大多數人意識到的要複雜得多(https://en.wikipedia.org/wiki/E-MAIL_ADDRESS#語法)。因此,請注意,您最終不會排除具有奇怪電子郵件地址的用戶。 – Bill 2011-12-31 20:26:35

+0

@比爾 - 感謝您的信息,我會看看鏈接。 – coder 2011-12-31 20:29:17

+0

[我如何驗證使用.NET Framework的電子郵件地址格式?](http://stackoverflow.com/questions/1331084/how-do-i-validate-email-address-formatting-with-the- net-framework) – MarkJ 2012-01-01 09:10:45

回答

2

假設你的電話代碼是不是一個錯字,問題是你沒有使用正確的屬性:

Call IsValidEmailAddress(txtEmail.txt) 

應該是:

Call IsValidEmailAddress(txtEmail.Text) 

我已驗證IsValidEmailAddress正常工作。

+0

@ Competent_tech - 首先感謝信息,我很驚訝,我的代碼出了什麼問題!我無法獲得任何消息。是否有我的代碼錯誤? – coder 2011-12-31 20:36:32

+0

再次愚蠢的錯誤!謝謝你指出正確的錯誤。 – coder 2011-12-31 20:38:11

+1

@Kiran:我原來的回答是不正確的,所以我修改它以表明我認爲是問題所在。我已經驗證IsValidEmailAddress在正確調用時可以正常工作。 – 2011-12-31 20:38:49

相關問題