Forum: PC-Programmierung String in PHP überprüfen ob er nur aus ZAHLEN besteht


von Tommi H. (drmota)


Lesenswert?

Weiss wer wie man einen String in PHP überprüft ob er nur aus Zahlen 
besteht

$str="65765765"
$laenge=strlen($str);

$regmuster="[0-9]{$laenge}";

if (ereg($regmuster,$str)) {
         echo "String  besteht nur aus Zahlen";
         }
         else {
         echo "Fehler ";
         }

Das regmuster funktioniert hier nicht.

von Sven P. (Gast)


Lesenswert?

Vielleicht mit preg?

if (preg_match('/^[0-9]*$/', $s)) {

}

von S. M. (smatlok)


Lesenswert?

evtl hilft dir acuh das:

http://de3.php.net/manual/en/function.is-numeric.php

oder - was auch immer du vor hast - is_int() o.ä.

von Peter (Gast)


Lesenswert?

btw
/^[0-9]*$/
=
/^\d*$/

von Timmo H. (masterfx)


Lesenswert?

is_numeric ist auf jeden fall das naheliegenste. Wieso kommen bei solch 
einfachen dingen immer wieder Leute mit regulären Ausdrücken? Die 
Verarbeitung mit "preg_match" ist bei sowas meist erheblich langsamer 
als mit entsprechenden Funktionen, die extra dafür vorgesehen sind, wie 
eben is_numeric.

von mars (Gast)


Lesenswert?

Man sollte aber beachten, dass is_numeric auch andere Zeichen wie z.B.: 
0xFF, -1234 oder 1,234 erlaubt. is_int ist in diesem Zusammenhang völlig 
falsch.

von Tommi H. (drmota)


Lesenswert?

> /^[0-9]*$/

mit diesem regulären Ausdruck funktioniert es

es geht auch dieser /^[0-9]{strlänge}$/

wobei der obere Ausdruck den Vorteil hat, dass man sich die Berechnung 
der Stringlänge ersparen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.