Betrachten Sie die folgende Zeichenfolge und den numerischen Wert:
Dann erlauben Sie dem Benutzer, in ein Textfeld einzutippen: 1|17|7|19
, wie könnte ich den Text wie folgt markieren:
Ich kann es bei der Berechnung in Leerzeichen und Absätzen verwenden lassen, aber wenn ich den ganzen Leerraum und neue Zeilen vollständig entferne (z. B. "Thisissomedummytext"), kann ich nicht herausfinden, wie ich das erreichen würde.
BEARBEITEN
Das ist, was ich bis jetzt habe, berücksichtigt Leerzeichen und neue Zeilen (nl's count als 1 Zeichen).
Ich bin mir nicht sicher, ob das hilft, aber:
Es ist nicht das sauberste und ich war mir nicht sicher, ob Sie jQuery verwenden (wo es einfacher sein könnte). Ich bin mir sicher, dass sich einiges ändern würde, wie zum Beispiel / wann dieses Ereignis stattfindet. Es ist wahrscheinlich nicht das Beste, die Ausgabe für jedes onkeyup-Ereignis vollständig neu zu erstellen.
AKTUALISIERT:
(um Leerzeichen zu unterstützen)
NEUES UPDATE:
(um alle Leerzeichen zu unterstützen)
(neue Logik, um mein vorheriges Problem von @eminor zu beheben)
Was ist mit zwei Indexen, einer für die Wiederholung des Textes und einer anderen für die Zählung der Zeichen?
(Ich habe deine Fiddle @ianpgall gespalten)
%Vor%Der "char" -Index zählt die gültigen Zeichen und wir suchen diesen Index im Array "mask".
Der Index "i" wird verwendet, um den Eingabetext zu iterieren.
Tags und Links javascript jquery