WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   eingabefeld auf nur Zahlen checken? (http://www.wcm.at/forum/showthread.php?t=28626)

nukia 22.08.2001 16:41

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?

rollipolli 22.08.2001 17:09

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;
}

James020 24.08.2001 17:41

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!

chrisgott 28.08.2001 22:37

is ja a kinderjausn...
 
PHP-Code:

#tel auf syntax prüfen
if ($tel) {
if (
ereg("[^\+][^0-9\-]",$tel)) {$err="Y";$errmsg.="[*]Die [b]Telefonnummer[/b] entspricht nicht der Syntax.";}


was darfs sonst noch sein?

is eine regex (unter php), sollte also in C++ auch so funxionieren.

ff
(fiel fergnuegen)

nukia 29.08.2001 08:54

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
}

chrisgott 29.08.2001 12:38

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