![]() |
eingabefeld auf nur Zahlen checken?
wie kann ich bei einem eingabefeld
<INPUT TYPE='text' NAME='rufnummer' SIZE=20 MAXLENGTH=50> nur zahlen als eingabe zulassen bzw. auch nur ein gewisse formatierung...dh. man kann bei einem eingabefeld "landesvorwahl" diese nur in der form +xx oder 00xx eingeben -> ansonst fehlermeldung? |
naja mit JavaScript halt --> in etwa so ein Code:
Selfhtml ist immer meine große Hilfe, weil merken du ich mir den ganzen Schmarrn auch nie... ..geht sicher einfacher und schöner, aber so hab ich es mal gemacht: function dktest() { zeichen=Formular.DKAuftragsnummer.value; if(zeichen.length < 1) { alert("Die DKAuftragsnummer muss eingegeben werden!"); return false; } if (zeichen.charCodeAt(2) != 45) { alert ("DK-Auftragsnummer hat das Format ZZ-ZZZZZ!"); return false; } else { for (x=0; x<zeichen.length;x++) { if ((zeichen.charCodeAt(x)<48) || (zeichen.charCodeAt(x)>57)) { if (x!= 2) { alert ("Fehler: In das Feld 'neue Dkauftragsnummer' dürfen nur Zahlen und an der 3. Stelle ein '-' eingegeben werden!"); return false; } } } } return true; } |
Weiß nicht sogenau, ob´s geht, doch ich mach in QBasic immer eine Tastenabfrage und sortiere dann, bzw lasse den Input nicht zu! Wenn er jedoch innerhalb der erlauben Grenzen fällt, wird er dem String angehängt! Den String wandle (wenn nötig) nachträglich dann in eine Zahlenkette um!
|
is ja a kinderjausn...
PHP-Code:
is eine regex (unter php), sollte also in C++ auch so funxionieren. ff (fiel fergnuegen) |
naja, habs nun so gelöst:
<script language="JavaScript"> function chkFormular() { var lvorwahl = document.Formular.landesvorwahl.value; if(lvorwahl == "") { alert("Bitte Ihre Landesvorwahl (z.B.: +43) eingeben!"); document.Formular.landesvorwahl.focus(); return false; } else if (lvorwahl.charAt(0) != '+') { alert ("Bitte überprüfen Sie ob an der 1. Stelle der Landesvorwahl in '+' steht!"); document.Formular.landesvorwahl.focus(); return false; } else { if (lvorwahl.length != 3) { alert ("Ländervorwahl muß dreistellig sein!!"); return false; } for (x=1; x<lvorwahl.length;x++) { if ((lvorwahl.charCodeAt(x)<48) || (lvorwahl.charCodeAt(x)>57)) { alert ("Es dürfen im Feld Landesvorwahl nach dem '+' nur Zahlen eingegeben werden!!"); document.Formular.landesvorwahl.focus(); return false; } } } var gvorwahl=document.Formular.vorwahl.value; if(gvorwahl == "") { alert("Bitte geben Sie ihre Vorwahl (ohne Null) ein!"); document.Formular.vorwahl.focus(); return false; } else { if (gvorwahl.charAt(0)=='0') { alert ("Vorwahl bitte ohne führende '0' eingeben!"); return false; } for (x=0; x<gvorwahl.length;x++) { if ((gvorwahl.charCodeAt(x)<48) || (gvorwahl.charCodeAt(x)>57)) { alert ("Es dürfen im Feld Vorwahl nur Zahlen eingegeben werden!!"); document.Formular.landesvorwahl.focus(); return false; } } } var rufnummer=document.Formular.rufnummer.value; if(rufnummer == "") { alert("Bitte Ihre Zielnummer der Switchbox eingeben!"); document.Formular.rufnummer.focus(); return false; } else { for (x=0; x<rufnummer.length;x++) { if ((rufnummer.charCodeAt(x)<48) || (rufnummer.charCodeAt(x)>57)) { alert ("Es dürfen im Feld Rufnummer nur Zahlen eingegeben werden!!"); document.Formular.landesvorwahl.focus(); return false; } } } return true;//Wenn alles gültig war, wird true zurückgegeben --> kein Fehler aufgetreten } |
warum ned so?
da gibts ein modul, was mit regex unter java checkt, falls java deaktiviert worden ist, checkt er dann per php. erkundig dich da mal, i hab da keine links zur hand. kenn des nur vom hörensagen.
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag