Hvad er der galt med den helt trivielle loesning med at loebe passwordet igennem og taelle antal store bogstaver og antal tal og teste for om de er stoerre end nul?
hvis password=strtolower(password) så fejl (stort bogstav mangler) hvis password=strtoupper(password) så fejl (lille bogstav mangler) der er ikke lige et kald til at stippe numerisk og se om der er tal i. Hvad med special-tegn ¤&#µ€~
Jeg mener stadig at den rigtige loesning er at lave alle tests i et enkelt gennemloeb.
A la:
Function IsUpperLetter(c) v = Asc(c) If 65 <= v And v <= 90 Then IsUpperLetter = True Else IsUpperLetter = False End If End Function
Function IsLowerLetter(c) v = Asc(c) If 97 <= v And v <= 122 Then IsLowerLetter = True Else IsLowerLetter = False End If End Function
' Note that non-ASCII letters like the 3 speciual Danish letter saer treated like special characters Function IsValidPassword(pw, minLen, minUC, minLC, minDig, minSpec) nUC = 0 nLC = 0 nDig = 0 nSpec = 0 For i = 1 To Len(pw) c = Mid(pw, i, 1) If IsUpperLetter(c) Then nUC = nUC + 1 ElseIf IsLowerLetter(c) Then LC = nLC + 1 ElseIf IsNumeric(c) Then nDig = nDig + 1 Else nSpec = nSpec + 1 End If Next If Len(pw) >= minLen And nUC >= minUC And nLC >= minLC And nDig >= minDig And nSpec >= minSpec Then IsValidPassword = True Else IsValidPassword = False End If End Function
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.