Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Hallo zusammen,
Ich möchte ein Textfeld so formatieren, dass Sonderzeichen nicht erlaubt sind. Hintergrund: der Inhalt des Feldes wird in eine Datenbank geschrieben, die nicht mit allen Sonderzeichen zurecht kommt. Deshalb möchte ich diese Bereits bei der Eingabe oder der Validierung verbieten.
Gibt es da eine Möglichkeit?
Vielen Dank und Gruß
Elli
Ich möchte ein Textfeld so formatieren, dass Sonderzeichen nicht erlaubt sind. Hintergrund: der Inhalt des Feldes wird in eine Datenbank geschrieben, die nicht mit allen Sonderzeichen zurecht kommt. Deshalb möchte ich diese Bereits bei der Eingabe oder der Validierung verbieten.
Gibt es da eine Möglichkeit?
Vielen Dank und Gruß
Elli
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Hi,
das kann man mit regulären Ausdrücken ganz gezielt steuern.
Um nur Buchstaben, Zahlen und Leerzeichen zu erlauben, kann man dieses Skript im change Event des Feldes einsetzen.
das kann man mit regulären Ausdrücken ganz gezielt steuern.
Um nur Buchstaben, Zahlen und Leerzeichen zu erlauben, kann man dieses Skript im change Event des Feldes einsetzen.
Code: Alles auswählen
if (!xfa.event.change.match(/[a-zA-Z0-9\s]/g)) {
xfa.event.change = "";
}
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Guten Morgen radzmar,
super, vielen Dank für Deinen Tipp. Leider sind jetzt alle Sonderzeichen erlaubt, aber nicht a-z, A-Z und 0-9. Aber dann "zäumen" wir das "Pferd" von hinten auf und verbieten so viele Sonderzeichen wie möglich.
Danke und Gruß
Anja
super, vielen Dank für Deinen Tipp. Leider sind jetzt alle Sonderzeichen erlaubt, aber nicht a-z, A-Z und 0-9. Aber dann "zäumen" wir das "Pferd" von hinten auf und verbieten so viele Sonderzeichen wie möglich.
Danke und Gruß
Anja
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Gefunden!!!
mit einem ^davor geht es. Hab vielen Dank!
Elli
Code: Alles auswählen
if (!xfa.event.change.match(/[^a-zA-Z0-9\s]/g)) {
xfa.event.change = "";
}
Elli
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Schön dass das bei dir klappt, verstehen tue ich das aber nicht.
Das ^ negiert doch die Gruppierung, wie schon das ! ganz am Anfang.
Mein Beispiel prüft, ob die aktuelle Eingabe nicht zu der Zeichengruppierung passt.
Falls dem so ist, wird die Eingabe durch "" ersetzt.
^ und ! zusammen in einer Prüfung heben sich ja gegenseitig auf, demnach würde ...
... genauso a-zA-Z0-9\s verbieten wie ...
Das ^ negiert doch die Gruppierung, wie schon das ! ganz am Anfang.
Mein Beispiel prüft, ob die aktuelle Eingabe nicht zu der Zeichengruppierung passt.
Falls dem so ist, wird die Eingabe durch "" ersetzt.
^ und ! zusammen in einer Prüfung heben sich ja gegenseitig auf, demnach würde ...
Code: Alles auswählen
if (!xfa.event.change.match(/[^a-zA-Z0-9\s]/g)) {
xfa.event.change = "";
}
Code: Alles auswählen
if (xfa.event.change.match(/[a-zA-Z0-9\s]/g)) {
xfa.event.change = "";
}
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Guten Morgen radzmar,
natürlich hattest Du recht!!! Wer kopieren kann, ist klar im Vorteil. Ich hatte das "!" vergessen. Jetzt funktioniert alles richtig gut.
Dankeschön
Elli
natürlich hattest Du recht!!! Wer kopieren kann, ist klar im Vorteil. Ich hatte das "!" vergessen. Jetzt funktioniert alles richtig gut.
Dankeschön
Elli
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Hallo radzmar,
es funktioniert schon ziemlich klasse. Kannst Du mir aber vielleicht noch einen Tipp geben, wie ich die Backspace-Taste (glaube sie heißt so: löschen von links nach rechts) und die Entf-Taste noch zulassen kann? Was ich gefunden habe, war \b, aber irgendwie funktioniert es nicht
Danke und viele Grüße
Elli
es funktioniert schon ziemlich klasse. Kannst Du mir aber vielleicht noch einen Tipp geben, wie ich die Backspace-Taste (glaube sie heißt so: löschen von links nach rechts) und die Entf-Taste noch zulassen kann? Was ich gefunden habe, war \b, aber irgendwie funktioniert es nicht
Danke und viele Grüße
Elli
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
\b steht für Word Boundary, also Wortgrenze.
Als Backspace wird es nur erkannt, wenn es in eckige Klammern gestellt wird, also [\b].
Ich weiß aber nicht, ob das in PDF's funktioniert, den die Fähigkeiten von Acrobat's JavaScript sind in manchen Dingen eingeschränkt, wenn es um reguläre Ausdrücke geht.
Als Backspace wird es nur erkannt, wenn es in eckige Klammern gestellt wird, also [\b].
Ich weiß aber nicht, ob das in PDF's funktioniert, den die Fähigkeiten von Acrobat's JavaScript sind in manchen Dingen eingeschränkt, wenn es um reguläre Ausdrücke geht.
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Du bist ein Schatz - danke für Deine Antwort. Mit etwas Probieren habe ich es hinbekommen:
Ging auch ohne [ ]
Viele Grüße
Elli
Code: Alles auswählen
if (!xfa.event.change.match(/[a-zA-Z0-9s]/g\b))
Viele Grüße
Elli
Textfelder so formatieren, dass Sonderzeichen nicht erlaubt sind
Hallo Elli,
bei welchen Event, hast du das Script eingefügt?
Bekomme immer eine Fehlermeldung.
VG Merklin
bei welchen Event, hast du das Script eingefügt?
Bekomme immer eine Fehlermeldung.
VG Merklin