Frank: Check eines Textfeldes

Moin moin zusammen

Ich möchte folgendes machen.
Ein Textfeld soll überprüft werden. Das Textfeld darf nur Grossbuchstaben enthalten....kein Problem.
Nun muss aber bei einer Eingabe von mehreren Buchstaben, zwingend ein "Komma (,)" gesetzt werden...also wenn es mehr als ein Buchstabe hat dann muss es so aussehen: A,B,C
Es dürfen auch nicht zwei Buchstaben eingegeben werden ohne ein Komma dazwischen zusetzen.
Und daran scheitere ich. Leider.
Hat mir jemanden einen kleinen Tipp, wie ich das angehen könnte?

Danke schon mal im voraus.
Gruss
Frank

  1. Hallo Frank,

    du könntest dies entweder über Reguläre Ausdrücke machen, über Split-Funktionen, bei denen du das Komma als Trenner verwendest, oder zu Fuss, indem du die Länge des übergebenen Strings ausfragst. Einfach mal die String-Funktionen des Handbuches durchsuchen.

    Ciao
    Heinzelhund

    1. Folgenden Code habe ich nun mal geschrieben.

        
      $zeichenAnzahl = strlen($userlev);  
          $rest = $zeichenAnzahl % 2;  
          if($rest == 0)  
        {  
           echo "eingabe falsch";  
        }  
        else  
        {  
         //echo "eingabe richtig";  
         $checklevel = '/^[A-Z[:space:]\,]{1,51}$/';  
         if (!preg_match($checklevel, $userlev))  
          {  
           echo "falsch";  
          }  
          else  
          {  
           echo "eingabe richtig";  
          }  
        }  
      
      

      Wie kann ich aber nun noch verhindern, dass jemand zwei Kommas oder zwei Buchstaben hintereinander schreibt?

      Danke und Gruss
      Michi

  2. Hallo!

    Du konntest die Anzahl der Zeichen durch zwei dividieren und dann schauen, ob ein Rest bleibt, also z.B.:

    zeichenAnzahl = strlen($_POST["textfeld"]);
    rest = zeichenAnzahl % 2;
    if(rest != 0)
    {
      //Wurde nicht eingehalten
    }
    else

    .......

    Ich hoffe ich konnte helfen

    1. Sorry:

      Ich war noch so an c(++) gewöhnt: Es müssen natürlich Dollar Zeichen vor den Variablen stehen :embarressed:

    2. Hallo!

      Du konntest die Anzahl der Zeichen durch zwei dividieren und dann schauen, ob ein Rest bleibt, also z.B.:

      zeichenAnzahl = strlen($_POST["textfeld"]);
      rest = zeichenAnzahl % 2;
      if(rest != 0)
      {
        //Wurde nicht eingehalten
      }
      else

      Ja vielen Dank, ein erster kleiner Schritt (für mich) ist getan...

      gruss
      Frank