jan84
13.09.2005, 12:27:21
Hallo,
mit den reg. Ausdrücken habe ich immer wieder Probleme. Kann mir jemand ein Muster formulieren? Ich möchte eine Variable auf folgendes Format prüfen:
Es dürfen nur Ziffern verwendet werden. Gibt es Nachkommastellen, dann darf nach beliebig vielen Ziffern ein Komma folgen. Es darf max. zwei Nachkommastellen geben.
Hört sich jetzt etwas strange an, es soll aber wirklich ein String sein, also als Dezimaltrennzeichen ein ',' und kein '.'.
Ich habe es hiermit probiert:
function isfloat($float) {
$muster = '/^[0-9]+(,{1}[0-9]{1,2})?$/';
$bool = preg_match($muster, $float);
if($bool) return 1;
else return 0;
}
Damit werden zwar nur Ziffern und ',' akzeptiert und keine Buchstaben. Allerdings wird beispielsweise auch für '2345,2135,25,25' oder '2,333' der Wert 1 zurück gegeben.
Gruss
Jan
mit den reg. Ausdrücken habe ich immer wieder Probleme. Kann mir jemand ein Muster formulieren? Ich möchte eine Variable auf folgendes Format prüfen:
Es dürfen nur Ziffern verwendet werden. Gibt es Nachkommastellen, dann darf nach beliebig vielen Ziffern ein Komma folgen. Es darf max. zwei Nachkommastellen geben.
Hört sich jetzt etwas strange an, es soll aber wirklich ein String sein, also als Dezimaltrennzeichen ein ',' und kein '.'.
Ich habe es hiermit probiert:
function isfloat($float) {
$muster = '/^[0-9]+(,{1}[0-9]{1,2})?$/';
$bool = preg_match($muster, $float);
if($bool) return 1;
else return 0;
}
Damit werden zwar nur Ziffern und ',' akzeptiert und keine Buchstaben. Allerdings wird beispielsweise auch für '2345,2135,25,25' oder '2,333' der Wert 1 zurück gegeben.
Gruss
Jan