Marian: RegEx, der nur auf Zahlen paßt

Beitrag lesen

if(preg_match($pattern,$argData))
    return 1;
   else
    return $argLabel;
  } // function CheckNumData

meine funktion liefert mir die ganze zeit $argLabel zurück statt ein TRUE.

ganz einfach: es 'matcht' nicht -> else wird ausgeführt.
echo mal das $pattern, vielleicht stimmt da was nicht

du kannst das aber auch ohne regex machen, zb:
function checkNumericalData(...)
{
if(!is_numeric($argData))
   return false; //die funktion wird dann beendet
if($argData < $argMinLength or $argData < $argMaxLength)
   return false;
return true; // wird nur aufgerufen wenn nicht vorher schon returnt wurde
}

Kleiner Tipp am Rande: du kannst statt
  $pattern="/[1]{".$argMinLength.",".$argMaxLength."}$/";
auch einfach
  $pattern="/[2]{$argMinLength,$argMaxLength}$/";
schreiben, das erkennt php automatisch (nur bei "-anführungszeichen, nicht bei ')


  1. 0-9 ↩︎

  2. 0-9 ↩︎