vb.net Windows フォーム アプリケーションへの電子メール アドレスを検証しようとしています。これは、別のクラスで記述された検証電子メール関数です。
Public Function ValidateEmailAddress(strEmailAddress As String) As Boolean
Dim pattern As String
pattern = "^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"
If Regex.IsMatch(strEmailAddress, pattern) Then
Return True
Else
Return False
End If
End Function
次に、このコードを記述して、別のクラスから IsValid 関数を呼び出しました
If ValidateEmailAddress(txtEmailAddress.Text) Then
MessageBox.Show("Email Valid")
Else
MessageBox.Show("Email Not Valid")
End If
このコードをステップ実行すると、ValidateEmailAddress 関数の Return True ステートメントをスキップし、isValid() 関数の MessageBox.Show("Email Valid") もスキップします。したがって、正しい電子メール形式を入力しても、Email not Valid return ステートメントが表示されます。正規表現パターンが正しいか、誰かがここで間違っていることを見つけてください。ありがとう