0

この正規表現関数を作成しました

    Public Function ValidateEmailAddress(ByVal txtEmailAddress As String) As Boolean

    Dim pattern As String
    pattern = "^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$"
    If Regex.IsMatch(txtEmailAddress, pattern) Then
        Return True
    Else
        Return False
    End If

End Function

そして、サブプロシージャで関数をオンコールします。

  If ValidateEmailAddress(txtEmailAddress.Text) = True Then
    Else
       MessageBox.Show("Email Not Valid")
    End If
    Sub Procedure

電子メールを入力すると、正しくまたは誤って同じメッセージが表示されます。つまり、電子メールが無効であることに加えて、Ifステートメントの後にコードをステップスルーするとtrueが返されません。誰かがここで問題が何であるかを見つけることができますか?

4

1 に答える 1

2

BigYellowCactus の回答の代わりとして:- 次のようなものを使用できます。これは、正規表現を使用するよりも望ましいと思います。

Public Shared Function IsValidEmailAddress(ByVal emailAddress As String) As Boolean
    Try
        Dim address As New MailAddress(emailAddress)
        Return True
    Catch ex As Exception
        Return False
    End Try
End Function

これはandで返さFalseれますが、チェックするだけで返されます@abc.combill@@True

于 2012-07-26T13:21:16.090 に答える