2012-04-12 12 views
1

こんにちはいるイムは、私がよそのコードをコピーして、私のプログラムに合わせてそれを変更し ...電子メールアドレスが入力されたことを確認するために、テキストボックスを検証しようとしているた問題イム..しかし、場合でも、有効なメールがされて入力され、まだ無効な電子メールのエントリが使用される色は緑と黄色でしたが、私は識別するために、ボックスの色を変更しテキストボックスの電子メールの検証

Private Sub EmailTextBox_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles EmailTextBox.Validating 
    Dim temp As String 
    temp = EmailTextBox.Text 
    Dim conditon As Boolean 
    emailaddresscheck(temp) 
    If emailaddresscheck(conditon) = False Then 
     MessageBox.Show("Please enter your email address correctly", "Incorrect Email Entry") 
     EmailTextBox.Text = "" 
     EmailTextBox.BackColor = Color.Blue 
    Else 
     EmailTextBox.BackColor = Color.Green 
    End If 

End Sub 


Private Function emailaddresscheck(ByVal emailaddress As String) As Boolean 
    Dim pattern As String = "^[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]$" 
    Dim emailAddressMatch As Match = Regex.Match(emailaddress, pattern) 
    If emailAddressMatch.Success Then 
     emailaddresscheck = True 
    Else 
     emailaddresscheck = False 
    End If 
End Function 

Private Sub EmailTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EmailTextBox.TextChanged 
    EmailTextBox.BackColor = Color.White 
    Dim temp As String 
    temp = EmailTextBox.Text 
    Dim conditon As Boolean 
    emailaddresscheck(temp) 
    : If emailaddresscheck(conditon) = True Then 
     MessageBox.Show("Please enter your email address correctly", "Incorrect Email Entry") 
     EmailTextBox.Text = "" 
     EmailTextBox.BackColor = Color.Yellow 
    Else 
     EmailTextBox.BackColor = Color.Green 
    End If 
End Sub 

言う問題であった。..箱はとてもエラーが青表示されます。.. .imはこのコードのsnippitでsom'ereと仮定します。事前に

Private Function emailaddresscheck(ByVal emailaddress As String) As Boolean 
    Dim pattern As String = "^[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]$" 
    Dim emailAddressMatch As Match = Regex.Match(emailaddress, pattern) 
    If emailAddressMatch.Success Then 
     emailaddresscheck = True 
    Else 
     emailaddresscheck = False 
    End If 
End Function 

おかげ.. :) X

+0

は、私はあなたの正規表現が好きです。 – Ben

答えて

2

次のコードをチェックしてください、私はそれのビット

Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged 
     TextBox1.BackColor = Color.White 
     Dim temp As String 
     temp = TextBox1.Text 
     'Dim conditon As Boolean = False 
     If emailaddresscheck(temp) = True Then 
      ': If emailaddresscheck(conditon) = True Then 
      TextBox1.BackColor = Color.Green 
     Else 
      'MessageBox.Show("Please enter your email address correctly", "Incorrect Email Entry") 
      'TextBox1.Text = "" 
      TextBox1.BackColor = Color.Yellow 
     End If 

    End Sub 

を変更している私はそれができるようにすることはありません原因メッセージを停止しましたコピーして貼り付けない限り、有効なメールアドレスを入力してください。

またそうでない場合、あなたのコードが正しいか、間違った状態でメッセージボックスを与えている。このパターン

Dim pattern As String = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" 
+0

あなたのコードで: 'emailaddresscheck(temp)= True Then'、 '= True'は冗長です。 – Ben

4

メールアドレスが有効であるかどうかを確認する簡単な方法は、それからMailAddressを作成しようとすることです:

Try 
    Dim testAddress = New MailAddress(email) 
Catch ex As FormatException 
    ' not a valid email address 
End Try 
0

を試してみてください。 次のようにコーディングを変更してください。参考のため

If emailaddresscheck(conditon) = True Then 
      msgbox ("Correct email id") 
Else 
    MessageBox.Show("Please enter your email address correctly", "Incorrect Email Entry") 
    EmailTextBox.Text = "" 

End If 

Function EmailAddressCheck(ByVal emailAddress As String) As Boolean 

     Dim pattern As String = "^[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]$" 
     'Dim pattern As String = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" 
     Dim emailAddressMatch As Match = Regex.Match(emailAddress, pattern) 
     If emailAddressMatch.Success Then 
      EmailAddressCheck = True 
     Else 
      EmailAddressCheck = False 
     End If 

End Function 

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 
     'EmailAddressCheck(TextBox6.Text) 
     If EmailAddressCheck(TextBox6.Text) = True Then 
      MessageBox.Show("Please enter your email address correctly", "Incorrect Email Entry") 
      TextBox6.Text = "" 
     Else 
      MsgBox("correct") 
     End If 
End Sub 
+0

plzあなたのコード例をすべて入れてください。コードスペーサーには、編集モードで中括弧( "{}")があります – bresleveloper

0

P

rivate Function validateEmail(ByVal Email As String) 
     Try 
      Dim myEmails As String() = Email.Split(",") 
      Dim isV As Boolean = True 
      For i As Integer = 0 To myEmails.Length - 1 
       ' Validate One by Ibe 
       isV = Global.ValidateEmail.IsValidEmail(myEmails(i).ToString) 
       If (isV = False) Then 
        Return False 
       End If 
      Next 
      Return isV 
     Catch ex As Exception 
     End Try 
    End Function 
  1. が、これはシンプルで簡単ですが、文字列としてメールアドレスを渡します。ブール値を返します。
関連する問題