입력이 유효한 전자 메일이라하더라도 잘못된 일치를 반환하는 것으로 보이는 간단한 전자 메일 유효성 검사 기능을 구현해 보았습니다. 나는 기존의 정규 표현식으로 문제를 찾았지만 정확하다고 보인다.Regex로 VB.NET 전자 메일 유효성 검사
일치 항목이 거짓 값을 반환하더라도 프로그램은 다음 유효성 검사 단계로 넘어 가고 있습니다.
다음은 이메일 확인 기능입니다.
Function EmailAddressChecker(ByVal emailAddress As String) As Boolean
Dim regExPattern As String = "^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$"
Dim emailAddressMatch As Match = Regex.Match(emailAddress, regExPattern)
If emailAddressMatch.Success Then
Return True
Else
Return False
End If
End Function
전자 메일 유효성 검사 기능을 호출하는 양식 유효성 검사의 경우.
If (String.IsNullOrEmpty(EmailTextBox.Text) OrElse EmailAddressChecker(EmailTextBox.ToString)) Then
MessageBox.Show("Please enter a valid email addresss")
Return False
End If
이 모든에 대한 호출 문은 모든 필드가 설정되어 있는지 확인하는 경우의 계단식 심각한을 트리거하는 클릭 이벤트에 발생합니다.
큰 이벤트 청크를 건너 뛰어 "AreFieldsSet <> True"인지 묻습니다. "AreFieldsSet"함수 내부에는 여러 입력에 대한 모든 유효성 검사가 포함됩니다. 그 중 하나는 이메일 검증 if 문입니다.
이 코드를 시도 할 수 있습니다 - 문제가 어디 있는지 그 가능성이 높습니다. – antonpug
전자 메일 주소 유효성 검사를 위해 try catch에서 System.Net.Mail.MailAddress 개체를 인스턴스화하는 것도 좋습니다. – N0Alias