String auf Zahlen prüfen
Natascha
- php
Hallo zusammen,
wie kann ich prüfen, ob ein String nur aus Zahlen besteht?
$string1 = "3158";
$string2 = "sdf462";
Wie mache ich das?
if($string1 == NUR ZAHLEN)
{
echo "Nur Zahlen";
}
else
{
echo "Fehler";
}
Danke für Eure Hilfe,
Natascha
Mahlzeit,
versuch mit
if($string1 == intval($string1))
solte funktionieren....
weiss aber nicht ob das auch mit "sdf366" funst oder ob die zahlen am anfang stehen müssen.....
cu
Hallo zusammen,
wie kann ich prüfen, ob ein String nur aus Zahlen besteht?
$string1 = "3158";
$string2 = "sdf462";Wie mache ich das?
if($string1 == NUR ZAHLEN)
{
echo "Nur Zahlen";
}
else
{
echo "Fehler";
}Danke für Eure Hilfe,
Natascha
Hallo
if($string1 == intval($string1))
weiss aber nicht ob das auch mit "sdf366" funst oder ob die zahlen am anfang stehen müssen.....
Das wird so nicht funktionieren, denn mit intval() wird aus "sdf366" "366".
Wie mache ich das?
if($string1 == NUR ZAHLEN)
{
echo "Nur Zahlen";
}
else
{
echo "Fehler";
}
Du kannst das mit einem regulären Ausdruck oder mit is_integer() prüfen.
In deinem Fall ($string1 = "3158";) ist $string1 jedoch nur ein String
(wegen der Anführungszeichen), deshalb wird is_integer() nicht funktionieren.
Ohne Anführungszeichen ($string1 = 3158;) würde es gehen.
http://www.php.net/manual/de/function.is-integer.php für is_integer()
http://www.php.net/manual/de/ref.variables.php zur Prüfung und Umwandlung von Typen
Mit einem regulären Ausdruck könntest du prüfen, ob ausschließlich Ziffern
vorhanden sind, was bedeutet, daß $string1 eine Ganzzahl, also integer ist.
Beispiel: preg_match("/[1]{4,5}$/",$string1)
[0-9] sagt, daß nur Ziffern enthalten sein dürfen, {4,5} sagt, daß $string1
entweder aus vier oder fünf Zeichen (Ziffern) bestehen darf. Vielleicht
muß der letztere Teil geändert werden. {1,} würde bedeuten, daß mindestens
ein Zeichen enthalten sein muß.
http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm Allgemein zu reg. Ausdrücken
http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#zeichen spezielle
Beispiele für Abfragen nach Zeichen
Tschö, Auge
0-9 ↩︎
hi,
if($string1 == intval($string1))
weiss aber nicht ob das auch mit "sdf366" funst oder ob die zahlen am anfang stehen müssen.....
Das wird so nicht funktionieren, denn mit intval() wird aus "sdf366" "366".
zumindest die frage, ob "sdf366" nur zahlen beinhaltet, lässt sich also mit dieser abfrage schon klären.
gruss,
wahsaga
Hallo
if($string1 == intval($string1))
weiss aber nicht ob das auch mit "sdf366" funst oder ob die zahlen am anfang stehen müssen.....
Das wird so nicht funktionieren, denn mit intval() wird aus "sdf366" "366".
zumindest die frage, ob "sdf366" nur zahlen beinhaltet, lässt sich also mit dieser abfrage schon klären.
Wenn ich es richtig verstehe, läßt sich eher überprüfen, ob überhaupt
Ziffern enthalten sind. intval() wandelt ja den Inhalt einer Variable
in eine Integerzahl um. Also sollte mindestens eine Ziffer enthalten sein.
Falls nicht, sollte "false" oder "0"(?) zurückgegeben werden.
Tschö, Auge
hi,
Wenn ich es richtig verstehe, läßt sich eher überprüfen, ob überhaupt
Ziffern enthalten sind. intval() wandelt ja den Inhalt einer Variable
in eine Integerzahl um. Also sollte mindestens eine Ziffer enthalten sein.
Falls nicht, sollte "false" oder "0"(?) zurückgegeben werden.
ja eben - und wenn du dieses dann mit dem original-string vergleichst (type cast mach JS ja automatisch), dann kommt da nur dann true heraus, wenn der originalstring nur aus ziffern bestand.
ausnahme, die das verfahren auch unsicher macht: bei strings mit einer null am anfang, bekommen wir ein problem ...
gruss,
wahsaga
Hallo,
wie kann ich prüfen, ob ein String nur aus Zahlen besteht?
$string1 = "3158";
$string2 = "sdf462";Wie mache ich das?
if($string1 == NUR ZAHLEN)
{
echo "Nur Zahlen";
}
else
{
echo "Fehler";
}
String in ganze Zahl umwandeln und das Ergebnis als neuen String mit dem Original vergleichen
<?php
$string1 = "3158";
if(strval(intval($string1)) == $string1)
{
echo "Nur Zahlen";
}
else
{
echo "Fehler";
}
?>
MfG, Thomas