Überprüfen, ob ein String nur "erlaubte" Zeichen enthält

    • VB.NET

      Überprüfen, ob ein String nur "erlaubte" Zeichen enthält

      Da ich das vor kurzer Zeit selber gebraucht habe, will ich euch zeigen, wie ich an dieses Problem herangegangen bin. Man kann die Funktion zum Beispiel dann verwenden, wenn man bei einer Registrierung nur bestimmte Zeichen im Username verwenden darf.


      1. Als erstes erstellen wir die Funktion, in der wir später den Algorythmus zum überprüfen unterbringen. Die Funktion ist (logischerweise) vom Typ Boolean. Wir benötigen zwei Parameter vom Typ String. Im ersten steht, was für ein Text überprüft werden soll, im zweiten steht, welche Zeichen erlaubt sind.

        VB.NET-Quellcode

        1. Function isValidString(ByVal txt As String, ByVal validChars As String) As Boolean
        2. End Function

      2. Nun zum eigentlichen Algorythmus. Wir laufen alle Zeichen vom Parameter txt durch. Das machen wir mithilfe einer Schleife:

        VB.NET-Quellcode

        1. Function isValidString(ByVal txt As String, ByVal validChars As String) As Boolean
        2. For i As Integer = 0 To txt.Length - 1
        3. Next
        4. End Function

      3. Dann überprüfen wir in, ob die Zeichenkette gültiger Zeichen validChars das aktuell überprüfte Zeichen enthält (bzw. ob sie es eben nicht enthält):

        VB.NET-Quellcode

        1. Function isValidString(ByVal txt As String, ByVal validChars As String) As Boolean
        2. For i As Integer = 0 To txt.Length - 1
        3. If Not validChars.Contains (txt.Chars (i)) Then
        4. End If
        5. Next
        6. End Function

      4. Wenn sie das Zeichen nicht enthält, soll False zurückgegeben und die Funktion verlassen werden. Wenn das Programm also an das Ende der Funktion kommt, gab es kein falsches Zeichen (sonst wäre die Funktion schon verlassen worden). Also geben wir am Ende der Funktion True zurück.

        VB.NET-Quellcode

        1. Function isValidString(ByVal txt As String, ByVal validChars As String) As Boolean
        2. For i As Integer = 0 To txt.Length - 1
        3. If Not validChars.Contains (txt.Chars (i)) Then
        4. Return False
        5. Exit Function
        6. End If
        7. Next
        8. Return True
        9. End Function
      Das wars ;)
      Viel Spaß,
      TheoTechnic

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TheoTechnic“ ()