German Eingabe auf Groß-/kleinschreibung prüfen

chefe82

Member
Licensed User
Longtime User
Hallo,
bei meiner App kann sich jeder Benutzer mit seinen Persönlichen Zugangsdaten anmelden, und nach der ersten Anmeldung muss das Passwort geändert werden, das Funktioniert soweit auch. Aber ich möchte gerne das im neuen Passwort mindestens 1 Großbuchstabe 1 Kleinbuchstaben und eine Zahl vorkommen muss, wie kann ich das überprüfen?

Gruß
 

rboeck

Well-Known Member
Licensed User
Longtime User
Du musst Dir ein Subprogramm zurechtlegen, dass in etwa so läuft:
B4X:
Dim C As String

For i=2 To Password.Length -1
     C=Password.CharAt(i)

         'hier C auswerten:
    
     If IsNumber(C) =True  Then
         'Ziffer gefunden!
    End If
Next

nicht getestet, sondern aus anderem Code kurz zusammengestellt...
Sg
Reinhard
 

ilan

Expert
Licensed User
Longtime User
versuchs so:

B4X:
Sub Btn1_Click 

    Dim password As String = "Passw1ord"
    Dim grossbuchtaben As String = "ABCDEFGHIJKLMNOPQRSTUVQXYZ"
    Dim nrok = False, grossbuchtabeok = False As Boolean

    For i = 0 To password.Length - 1
        If IsNumber(password.CharAt(i)) Then nrok = True
        If grossbuchtaben.Contains(password.CharAt(i)) Then grossbuchtabeok = True
    Next

    If grossbuchtabeok = True And nrok = True Then
         msgbox.Show("Passwort ist ok","")
    Else
        msgbox.Show("Passwort ist NICHT OK","")
    End If

End Sub
 
Last edited:

klaus

Expert
Licensed User
Longtime User
So kann man es auch machen:
B4X:
Private Sub CheckPassword(PW As String) As Boolean
    Dim i As Int
    Dim OK(3) As Boolean
   
    For i = 0 To PW.Length - 1
        Dim asc1 As Int
        asc1 = Asc(PW.CharAt(i))
        If asc1 >= 48 And asc1 <= 57 Then           'checks number
            OK(0) = True
        Else If asc1 >= 65 And asc1 <= 90 Then    'checks upper case character
            OK(1) = True
        Else If asc1 >= 97 And asc1 <= 122 Then   'checks lower case character
            OK(2) = True
        End If
    Next
   
    If OK(0) And OK(1) And OK(2) Then
        Return True
    Else
        Return False
    End If
End Sub
 
Top