2015-04-23 81 views
0

我想我的文本框來檢查輸入到文本框中的電子郵件是否有效。如何讓文本框只接受有效的電子郵件?

到目前爲止我有:

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

但這只是測試它是否有一個「@」和「」在裏面。

有沒有辦法讓它檢查是否有.com等,只有一個'@'?

+1

驗證電子郵件地址很困難。最簡單的方法就是做,你已經做了什麼:尋找'@'和'.'。如果存在,請發送電子郵件至該地址,並讓用戶確認其真實性。 – germi

+0

檢查此[正則表達式](https://regex101.com/r/jZ3jT5/1) – Izzy

+0

C#空間中的大多數不同的UI(和Web)框架都具有驗證器,通常也是一個專門用於驗證電子郵件地址的驗證器。 –

回答

3

.NET能爲你做到這一點:

 try 
     { 
      var eMailValidator = new System.Net.Mail.MailAddress("[email protected]"); 
     } 
     catch (FormatException ex) 
     { 
      // wrong e-mail address 
     } 
+0

這工作完美,謝謝! – Nickz2

+0

如果我使用「test @ test」,則使用此方法將其作爲有效的電子郵件地址傳遞。 – DDuffy

0

如果你正在開發一個web應用程序,現代的瀏覽器支持HTML5,所以你可以使用<input id="txtEmail" type="email" runat="server" />代替的文本框,它會驗證輸入是瀏覽器中的電子郵件(但您也應該在代碼中對其進行驗證)。使用txtEmail.Value獲取文本字符串。

相關問題