kostenloser Webspace werbefrei: lima-city


Bestimmte Zeichen in Textfeld

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    laex630

    laex630 hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    laex630

    laex630 hat kostenlosen Webspace.

    reichts das wenn ich type number eingebe, aber dann sind ja nur Nummern möglich?

    Danke
  5. 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
        }
    ?>
  6. airfield-manager

    Kostenloser Webspace von airfield-manager

    airfield-manager hat kostenlosen Webspace.

    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 ;)
  7. airfield-manager schrieb:
    Allerdings wenn du dich noch nie damit beschäftigt hast wird ein kleines php-script wie hechma es vorschlägt wohl einfacher sein ;)
    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".

    Am besten machst du beides, aber eine Serverseitige Prüfung brauchst du.
  8. willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    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
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!