컴퓨터/액세스

vba 연속된 3자리 숫자, 같은 숫자 3자리, 8자리 이상 비밀번호 검증

풍경소리^^ 2024. 9. 5. 13:27
Function IsValidPassword(ByVal pwd As String) As Boolean
    Dim i As Integer
    Dim currNum As Integer
    Dim prevNum As Integer
    Dim nextNum As Integer
    
    ' 비밀번호 길이가 8자리 이상인지 확인
    If Len(pwd) < 8 Then
        IsValidPassword = False
        Exit Function
    End If
    
    IsValidPassword = True ' 기본값은 True로 설정
    
    ' 비밀번호의 각 문자를 순차적으로 검사
    For i = 1 To Len(pwd) - 2
        ' 현재, 다음 및 그다음 문자가 숫자인지 확인
        If IsNumeric(Mid(pwd, i, 1)) And IsNumeric(Mid(pwd, i + 1, 1)) And IsNumeric(Mid(pwd, i + 2, 1)) Then
            currNum = CInt(Mid(pwd, i, 1))
            prevNum = CInt(Mid(pwd, i + 1, 1))
            nextNum = CInt(Mid(pwd, i + 2, 1))
            
            ' 연속된 숫자인지 확인
            If (currNum + 1 = prevNum) And (prevNum + 1 = nextNum) Then
                IsValidPassword = False
                Exit Function
            End If
            
            ' 같은 숫자가 3개 이상 연속되는지 확인
            If (currNum = prevNum) And (prevNum = nextNum) Then
                IsValidPassword = False
                Exit Function
            End If
        End If
    Next i
End Function

'컴퓨터 > 액세스' 카테고리의 다른 글

ms access 콤보상자 쿼리  (0) 2025.01.11
ms access 액세스 사진관리 로그인  (0) 2024.09.20
ms access login form crud  (0) 2024.09.01
ms access 액세스 콤보박스 서브폼  (0) 2024.08.29
access 콤보상자 vba  (0) 2024.08.28