Yasmin: Formular/Eingabe mehrerer Zeichen hintereinander verhindern

Hallo Zusammen,

ich habe die Aufgabe, eine Formulareingabe auf sich hintereinander wiederholende Zeichen zu prüfen. Konkret: Werden in ein Formularfeld "Nachname" drei gleichen Buchstaben direkt hintereinander eingegeben, soll eine Fehlermeldung erscheinen.

Nach einigen Anlaufschwierigkeiten komme ich mit JavaScript inzwischen einigermaßen zurecht, aber bei dem genannten Problem habe ich nicht einmal eine vage Ahnung, wie ich die Sache anpacken soll.

Wäre schön, wenn mir jemand mit einem theoretischen Ansatz unter die Arme greifen könnte. Mir kommt es nicht auf eine fertige Lösung an, am liebsten würde ich am Ende selbst darauf kommen (wer schreibt, der bleibt ;-), aber ein kräftiger Schubs in die richtige Richtung wäre sehr hilfreich.

Österliche Grüße und besten Dank
Yasmin

  1. Wäre schön, wenn mir jemand mit einem theoretischen Ansatz unter die Arme greifen könnte. Mir kommt es nicht auf eine fertige Lösung an, am liebsten würde ich am Ende selbst darauf kommen (wer schreibt, der bleibt ;-), aber ein kräftiger Schubs in die richtige Richtung wäre sehr hilfreich.

    Liebe Yasmin,

    das Thema, mit dem Du Dich beschäftigen willst, heißt "reguläre Ausdrücke", oder abgekürzt RegExp, und Du findest einiges dazu in SELFHTML unter diesen Stichworten. Worum es dabei geht? Du kennst ja zum Beispiel so etwas wie "*.htm", womit alle Dateien beliebigen Namens mit der Endung "htm" angesprochen werden können. Die regulären Ausdrücke bieten hier viel mehr Möglichkeiten, sind deshalb aber auch schwieriger zu verstehen.

    Wenn Du gar nicht klar kommst, poste noch einmal eine Rückfrage, dann schicke ich Dir ein Beispiel.

    Viele Grüße

    Mathias Bigge

    1. Hallo Mathias,

      das Thema, mit dem Du Dich beschäftigen willst, heißt "reguläre Ausdrücke", oder abgekürzt RegExp, und Du findest einiges dazu in SELFHTML unter diesen Stichworten.

      ich weiß nicht, ob ich mich DAMIT beschäftigen will ;-)

      Nein, im Ernst - Was ich in SELFHTML dazu gefunden habe, hab' ich spontan dermaßen überhaupt nicht verstanden, dass ich nicht einmal eine Frage stellen kann. Aber Ostern hat ja noch zwei Tage...

      Schönen Gruß und vielen Dank
      Yasmin *ehrgeizig*

  2. Hallo.

    Nach einigen Anlaufschwierigkeiten komme ich mit JavaScript inzwischen einigermaßen zurecht, aber bei dem genannten Problem habe ich nicht einmal eine vage Ahnung, wie ich die Sache anpacken soll.

    Einfach 'ne Schleife basteln, die guckt, ob das erste Zeichen das selbe ist, wie das Zweite und ob das Zweite das selbe ist, wie das dritte. Un so weiter. Du weist ja, wenn a = b und b = c, dann ist auch a = c.

    Wäre schön, wenn mir jemand mit einem theoretischen Ansatz unter die Arme greifen könnte. Mir kommt es nicht auf eine fertige Lösung an, am liebsten würde ich am Ende selbst darauf kommen (wer schreibt, der bleibt ;-), aber ein kräftiger Schubs in die richtige Richtung wäre sehr hilfreich.

    Hier, das schenk ich dir zu Ostern, und keine Widerrede:
    --------------------------------------------------------
    <html>
    <head>
    <title>Ostergeschenk</title>
    <script type="text/javascript">
    <!--
     function check_form()
      {
       failure = false;
       lastname = document.forms[0].Nachname.value.split("");
       for(i = 0; i < lastname.length-2; i++)
        {
         if(lastname[i] == lastname[i+1] && lastname[i+1] == lastname[i+2]){failure = true}
        }
       if(failure == true){window.alert("BUH!")}
       else{window.alert("Kein BUH!")}
      }
    //-->
    </script>
    </head>
    <body>
    <form onsubmit="check_form()">
    <input type="text" name="Nachname">
    <input type="submit">
    </form>
    </body>
    </html>

    Funktioniert erst ab IE4 und NS3, weil's split() benutzt.

    Gruß
    Norbert

    1. Hier, das schenk ich dir zu Ostern, und keine Widerrede:

      Sir, jawohl, Sir! ;-)

      Vielen Dank!!!

      Gruß
      Yasmin