Ahmet: RegEx Sonderzeichen ausschließen

hallo,

ich möchte die sonderzeichen bei Formular Eingaben ausschließen. Ich wollte dafür [:punct:] nutzen, aber ich komme damit irgendwie nicht klar.

Zugelassen sollen außerdem werden leerzeichen, komma und punkt.

Mein Ansatz war folgender:

pattern='[^[:punct:]]'

Bedeutet doch egal an welcher stelle, von anfang bis ende, bei der eingabe kein :punct: = sonderzeichen sein darf.

Allerdings sagt es mir, das alphanumerische zeichen dennoch "punct" sind. Also habe ich einen denkfehler. kann man :punct: negieren?

Im nächsten schritt wollte ich wiederrum das leerzeichen, komma und punkt zulassen. Nun fällt mir aber auf, dass wenn ich

pattern='[., ^[:punct:]]'

schreibe, er es ja erst zulässt aber dann wieder ausschließt. Kann man das umgehen?

danke
Ahmet

  1. @@Ahmet:

    nuqneH

    hallo,

    ich möchte die sonderzeichen bei Formular Eingaben ausschließen. Ich wollte dafür [:punct:] nutzen, aber ich komme damit irgendwie nicht klar.

    Wie kommst du darauf, dass [:punct:] zulässig wäre?

    “If specified, the attribute's value must match the JavaScript Pattern production. [ECMA262]” [HTML5.1]

    In der ECMAScript-Spezifikation kann ich dergleichen nicht finden.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. ho,

      Wie kommst du darauf, dass [:punct:] zulässig wäre?

      Ich dachte sowas wäre inzwischen global... Habe regex mit php gelernt, aber nie in js verwendet.

      Gibt es eine alternative oder muss man alle zeichen manuell eingeben?

      Ahmet

      1. Hakuna matata!

        Wieso möchtest du die Eingabe denn überhaupt so sehr beschränken? Hat es einen technischen Grund, müssen die Daten weiterverarbeitet werden und irgendwo in der Verarbeitungs-Kette mangelt es an Zeichenunterstützung?

        Wenn nicht, dann lass wirklich besser alle Zeichen zu und mach deine Seite nicht zum schwächsten Glied in der Kette, das als einziges Probleme mit bestimmten Zeichen verursacht.

        Wenn doch, dann nenn uns mal das Kettenglied, dass dich zu solch einem Unding verleitet, es gibt mit Sicherheit eine elegante Lösung, und wir können dieses schmutzigen Hack, den du dir ausgedacht hast, über Board werfen. In den allermeisten Fällen lassen sich solche Probleme mit einem sauberen Kontextwechsel lösen.

        --
        “All right, then, I'll go to hell.” – Huck Finn