• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Regex - nur Zahlen mit einem Plus in der Mitte

Alex55

Mitglied
Hallo,

ich möchte für meinen Taschenrechner mit preg_match und Regex herausfinden ob das Eingegebene nur aus Zahlen und einem Plus in der Mitte besteht.

Hier meine Versuche:
PHP:
$zahl = "22+22";
if(preg_match("/([0-9])\+([0-9])/",$zahl))

{ 
    echo $zahl;
}else {
    echo "nicht gültig";
}

PHP:
$zahl = "22+22";
if(preg_match("/(\d+)\+(\d+)/",$zahl))

{ 
    echo $zahl;
}else {
    echo "nicht gültig";
}
Bei beiden, wenn man zum Beispiel so
PHP:
$zahl = "22+22s";
einen Buchstaben ranfügt, lässt er es zu.
Aber wieso macht er das? Eigentlich müsste er ja nur Zahlen mit einem Plus in der Mitte durchlassen, oder? Oder fehlt da noch was?

Freu mich auf eure Hilfe. :-D

Alex55
 
Hallo,

vielleicht so
PHP:
$zahl = "22+22";
if(preg_match("/([0-9]+)\+([0-9]+)/",$zahl))

{ 
    echo $zahl[0]." plus ".$zahl[1];
}else {
    echo "nicht gültig";
}

Cheffchen
 
PHP:
$string = "5+2";

if(preg_match("/^([0-9]+)\+?[0-9]+$/", $string)) {
    echo 'stimmt';
}
else {
    echo 'fail';
}

mfg
 
Okay, danke. Könntest du mir noch sagen wie ich am obigen Code hinbekomm, dass er die Zahlen die über 10 ohne ein + sind, auch nicht durchlässt?

Lg
 
Zurück
Oben