Avatar billede lordnelson Seniormester
20. marts 2016 - 13:52 Der er 10 kommentarer og
1 løsning

Ved bruger oprettelse skal password indeholde et stort bogstav

Yes
ved oprettelse af en bruger skal password indeholde mindst et stort tegn samt et tal , er der nogen der kan hjælpe
Avatar billede arne_v Ekspert
20. marts 2016 - 14:04 #1
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?
Avatar billede claes57 Ekspert
20. marts 2016 - 15:32 #2
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 ¤&#µ€~
Avatar billede lordnelson Seniormester
20. marts 2016 - 16:23 #3
Begge fine
tal kan det ikke findes ?
Avatar billede lordnelson Seniormester
20. marts 2016 - 16:49 #4
den der
strtolower
er ikke noget jeg lige falder over ?
Avatar billede lordnelson Seniormester
20. marts 2016 - 17:12 #6
Nu vil jeg ikke være uforskammet, men min kategori siger tydeligt Visual Basic , mener ikke den har meget med PHP at gøre  :)

Har teksten mangler tal
Avatar billede claes57 Ekspert
20. marts 2016 - 17:39 #7
Ok, så lcase() og ucase()

Tal:
Talok=false
For i =1 to len(password)
  If isnumeric(mid(password,i,1)) then Talok=true
Next
If Not Talok then 'fejl ingen tal i password
End if

Undskyld, jeg er forkølet, og virker kun på halv kraft...
Avatar billede lordnelson Seniormester
20. marts 2016 - 18:32 #8
Lol


Yes det virker
læg venligst et svar
Avatar billede claes57 Ekspert
20. marts 2016 - 18:48 #9
Bare luk selv, men tak for budet.
Avatar billede lordnelson Seniormester
20. marts 2016 - 18:51 #10
Ok fint, tak for hjælpen :)
Avatar billede arne_v Ekspert
20. marts 2016 - 23:31 #11
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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester