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