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はこのコードの断片に含まれていると想定しています。

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

4

4 に答える 4

5

メールアドレスが有効かどうかを確認する簡単な方法は、メールアドレスからメールアドレスを作成してみることです。

Try
    Dim testAddress = New MailAddress(email)
Catch ex As FormatException
    ' not a valid email address
End Try
于 2012-04-12T18:25:50.013 に答える
3

次のコードを確認してください、私はそれを少し変更しました

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+)*"
于 2012-04-12T19:03:11.197 に答える
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
于 2013-12-15T11:48:35.167 に答える
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. メールアドレスを文字列として渡します。これはシンプルで簡単です。ブール値を返します。
于 2015-04-02T08:14:28.163 に答える