webapache: Punkte in einem String zählen

Hi nochmal,

da ich in einem Textfeld unbedingt verhindern muss, das eine falsche Eingabe von Zahlenwerten gemacht werden kann, lautet eine der Aufgaben für mich, die Mehrfacheingabe von Punkten im Textfeld zu verhindern.

Gibt es eine einfache möglichkeit, die in einem Textfeld, oder in einem String vorhandenen Punkte zu zählen?

Hab echt keine Idee mehr. Ein Punkt muss immer vorhanden sein, ein zweiter darf nicht gesetzt werden. Wenn man es nicht verhindern kann, sollte zumindest ein Alert ausgegeben werden.

Danke schon mal,
Gruß
Olli

  1. echo ($light == true) ? 'Guten Tag,' : 'Guten Abend,';

    also dafür würde sich die Verwendung eines  reguläreren Ausdrucks in Verbindung mit z.B. search geradezu anbieten.

    Grüße

    Markus

    --
    Langeweile? Sudoku online spielen ;)
    1. Hallo Markus,

      das Problem ist nicht herauszufinden ob ein Punk an einer bestimmten Stelle vorhanden ist, denn es ist bereits einer vorgegeben, das Problem ist: Wie VERHIDNERE ich die Eingabe eines WEITEREN Punktes?

      Gruß
      Olli

      1. echo ($light == true) ? 'Guten Tag,' : 'Guten Abend,';

        nun du kannst während der Eingabe bei onkeydown eine Funktion aufrufen, dort überprüfen ob ein Punkt (Keycode) eingegeben wurde und bei bedarf ein alert ausgeben oder auch einfach den Punkt nicht in das Feld schreiben.

        Grüße

        Markus

        --
        Langeweile? Sudoku online spielen ;)
      2. Hallo,

        das Problem ist nicht herauszufinden ob ein Punk an einer bestimmten Stelle vorhanden ist, denn es ist bereits einer vorgegeben, das Problem ist: Wie VERHIDNERE ich die Eingabe eines WEITEREN Punktes?

        keypress-Event überwachen, aufs Eventobjekt zugreifen, auf den Key-Code zugreifen, prüfen, ob schon genug Punkte drinstehen, dann prüfen, ob der Key-Code auf den Druck von ».« hinweist, dann die Standard-Eventbehandlung mit preventDefault (standardkonforme Browser) bzw. returnValue (IE) abbrechen.

        if (eventobjekt.preventDefault)
          eventobjekt.preventDefault()
        else
          eventobjekt.returnValue = false;

        Mathias

    2. Hallo,

      in Verbindung mit z.B. search geradezu anbieten.

      »Wenn [der reguläre Ausdruck] passt, wird die Position des ersten Treffers zurück geliefert.«
      Das bietet sich nicht an, um die Anzahl der Treffer zu zählen... Dann schon eher match.

      Mathias

  2. Hallo webapache,

    Gibt es eine einfache möglichkeit, die in einem Textfeld, oder in einem String vorhandenen Punkte zu zählen?

    Es gibt wohl so einige Möglichkeiten, dies tu teste. Reguläre Ausdrücke kam ja als Hinweis schon.
    Du könntest mit split() den String am Punkt zerlegern. Hat das Array eine Länge von 2 ist genau ein Punkt da. Denkbar währe auch indexOf() und lastIndexOf(); liefern beide unterschiedliche Werte, so sind zwei mind. zwei Punkte enthalten.

    Mit freundlichem Gruß
    Micha

  3. Hallo,

    Gibt es eine einfache möglichkeit, die in einem Textfeld, oder in einem String vorhandenen Punkte zu zählen?

    var text = "eins . zwei . drei . vier";  
    var punktAnzahl = 0  
    text.replace(/\./g, function () {  
       punktAnzahl++;  
    });  
    alert(punktAnzahl);
    

    (Da wird kein wirklicher Replace gemacht. Nur replace genutzt, um für jeden gefundenen Punkt eine Funktion aufzurufen. Und die zählt nur eine Variable hoch.)

    Mathias