Bestimmte Zeichen in Textfeld
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
beispiel
beschrieben url
bestimmte zeichen
code
dank
date
eingabe
http
inhalt
moderne browser
nummer
parameter
sagen
stattfinden
text
tun
type
url
validierung
vorhandenen vorgefertigten inputs
-
Hi,
wie kann ich hier nur bestimmte zeichen wie A-Z, a-z, 0-9 erlauben und keine Sonderzeichen wie - () . : usw.?
<input type="text" name="customUrl" id="customUrl" title="<?php echo t("set_a_custom_url"); ?>" value="<?php echo safeOutputToScreen($_REQUEST['customUrl']); ?>"/>
Danke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hallo laex630,
du kannst neben den in bereits in html5 vorhandenen vorgefertigten inputs wie type="email", type="url", type="number", type="range", type="color", type="date", type="search", type="tel" (usw.) bei denen du dann auf die internen validierungsabläufe des browsers zurückgreifst natürlich auch deine eigene validierung in sagen wir javascript implementieren wie z.b. hier beschrieben: http://de.selfhtml.org/javascript/beispiele/formulareingaben.htm
bedenke aber das diese validierungen nur auf clientseite ablaufen, du dir also in keinster weise sicher sein kannst das die überhaupt stattfinden bzw. das dir niemand beliebige andere inhalte übergeben könne.
dazu musst du die validierung auch auf seite des servers vornehmen wie z.b. in php hier beschrieben: http://www.w3schools.com/php/php_form_validation.asp
lg hechma -
na dann würde ein moderner browser dem eingebenden sagen das er nur nur nummern eingeben darf. natürlich könnte er trotzdem weiterhin alles mögliche übergeben, da die clientseitige prüfung ja nichts mit sicherheit (sondern nur mit usability) zu tun hat...
auf jeden fall musst du serverseitig (wahrscheinlich in php) deine übergebenen parameter prüfen, z.b. so:<?php if(ctype_alnum($_REQUEST['uebergabe'])) { // valide }else { // nicht valide } ?>
oder so:<?php if(!preg_match('/^[a-zA-Z0-9]+$/',$_REQUEST['uebergabe'])){ // nicht valide }else { // valide } ?>
-
Du kannst auch mit jQuery arbeiten.
Vorteil du kannst die Inhalte schon abfragen, wenn sie eingegeben werden und somit bereits die Übergabe verhindern.
http://jqueryvalidation.org/
Das wäre die Quelle zum Validation Plugin.
Allerdings wenn du dich noch nie damit beschäftigt hast wird ein kleines php-script wie hechma es vorschlägt wohl einfacher sein ;) -
airfield-manager schrieb:
Das PHP Script wird nicht nur einfacher sein, sondern auch benötigt. Clientseitig kann ich die Überprüfung auch einfach aushebeln, wenn mir danach ist, Serverseitig nicht. Und gewisse Sicherheitsaspekte beachten, mit dieser Eingabe kann ich ja den Server "beeinflussen".
Allerdings wenn du dich noch nie damit beschäftigt hast wird ein kleines php-script wie hechma es vorschlägt wohl einfacher sein ;)
Am besten machst du beides, aber eine Serverseitige Prüfung brauchst du. -
c143 schrieb:
Am besten machst du beides, aber eine Serverseitige Prüfung brauchst du.
Richiiiccch.
Und ein Beispiel für die Clientseite Überprüfung gibt es hier bei mir:
Moderne Browser (IE10)
<input type="text" pattern="[0-9a-zA-Z]*">
Auch ältere Browser (Javascript):
<input type="text" onchange="validate(this, '/[0-9a-z]*/i')">
function validate(obj, regex) { if(!regex.test(obj.value)) { obj.style.backgroundColor="red"; } }
Wenn du es auch sofort löschen möchtest kannst du es so machen:
function validate(obj, regex) { var text = obj.value; var validtext = text.replace("/[^0-9a-z]*/i", ""); if(text!=validtext) { obj.value=validtext; obj.style.backgroundColor="red"; } }
Beitrag zuletzt geändert: 20.1.2015 10:10:14 von willstdueswissen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage