Julia: Bei Formulareingabe nicht alle Tasten zulassen.

Hallo,

ich habe ein Formular mit einem Textfeld, in das der Benutzer eine Frage
schreiben soll. Dabei sollen aber nicht alle Tasten der Tastatur auf Eingaben
des Benutzers reagieren. Es sollen nur alle Groß- und Kleinbuchstaben,
sowie Zahlen, Space, Backspace und die Eingabetaste zulässig sein.
Ein Druck auf alle anderen Tasten soll ignoriert werden und somit nicht
angezeigt werden.
Wie kann ich sowas anstellen?

Gruß
Julia

  1. Huhu Julia

    Wie kann ich sowas anstellen?

    Das ist ganz einfach wenn Du das Pferd herumdrehst.

    Will sagen eine Überprüfung des Formularinhaltes _nach_ dem Absenden ist einfach.

    Eine Überprüfung _vorher_ bzw. während der Eingabe ist im Web unmöglich.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Na gut, dann muss ich das eben erst im Nachhinein machen. Wollte es zwar
      eigentlich anders, aber wenn das nicht geht, dann kann man da wohl nichts
      machen. Hatte ich mir aber schon fast gedacht.

      Und wie kann ich das nach dem Absenden machen, ich kann doch nicht für
      jedes einzelne Zeichen eine Abfrage machen?
      Sorry, bin leider auf dem Gebiet noch ein totaler Anfänger.

      Danke für deine Antwort.
      Julia

      1. Hallo Julia,

        das geht über einen Regulären Ausdruck. In Perl ginge es so:

        if($DeinString =~ /[a-zA-Z0-9 ]/)
        {
            # Fehlermeldung
        }else
        {
            # alles ok
        }
        Du solltest aber Dinge wie Fragezeichen, Punkte und Kommata auch zulassen. Beachte bitte, daß diese Zeichen teils maskiert werden müssen, d. h. [a-zA-Z0-9 ?.,]. Entspricht das Deinen Vorstellungen?

        Gruß

        Eidgenosse

        1. Zuerst gepostet - dann nachgedacht.

          Natürlich geht es so

          if($DeinString =~ /[1]+$/)
          {
              # alles ok
          }
          else
          {
              # Fehlermeldung
          }


          1. a-zA-Z0-9 ↩︎

    2. Hallo Lulu,

      über JavaScript geht das schon - funktioniert aber halt nicht bei allen.

      Gruß

      Eidgenosse