|
Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Gon |
ok, c3o, das sieht echt hilfreich aus.
vielen Dank. |
von c3o |
"Nur das letzte Zeichen" bringt dich nicht weiter, weil man dann immer noch verbotene Zeichen rein-copypasten kann -- also mit einem Tastendruck jede Menge Zeichen unterbringt.
> Beispielscript
Wie schon erwaehnt bleibt dir die serverseite nochmalige Ueberpruefung aber nicht erspart. |
von subjective |
Wie schon beschreiben geht es durchaus auch bei jedem Tastendurck. Empfehlen würde jedoch eher das Prüfen beim Absenden (mittels JavaScript) und beim Empfangen (serverseittig mittels ASP). In beiden Fällen solltest du RegEx nutzen können.
Direkt bei der Eingabe wird dies jedoch sehr schwierig. So wäre 2005-06 kein gültiges Datum obwohl du es als Eingabe zulassen mußt. Der User vervollständigt es ja erst durch die weitere Eingabe. |
von Gon |
hab mich eben n bissl mit htmlentities() beschäftigt.
In ASP:
1:
2:
3:
4:
5:
6:
7: | to encode user input text:
Server.HtmlEncode("<your string>");
to display the data in a control:
Server.HtmlDecode("<your string>"); |
Das beseitigt zwar das Problem mit dem HTML Zeichen in der DB, was schonmal hilfreich ist, aber kann nicht verwendet werden um andere Zeichen abzufangen (Buchstaben in Datumsangaben etc.
Ich setzt mich jetzt ma hinter das regexp und versuch das zu verstehen.
Mich interessiert jetzt erstmal ob man damit bei jedem Tastendruck das neue Zeichen prüfen kann oder nur das gesammte Eingabefeld. |
von Austin Powers |
Ja, ist möglich.
Mit den Eventhändlern "onKeydown" und "onKeypress" oder "onKeydown" (http://de.selfhtml.org/javascript/sprache/eventhandler.htm) die eigegebene Zeichenkette per regulärem Ausdruck (http://de.selfhtml.org/javascript/objekte/regexp.htm) überprüfen und gültige zeichen wiedergeben,bzw ungültige löschen.
Der bessere Weg wäre allerdings, da sicherer in PHP mit htmlentities() zu arbeiten o.ä. in asp. (ihhh microdoof) |
|
|
|