hast ja recht....

...war vorhin nicht ganz bei der Sache...
dafür eine ( hoffentlich ) sichere regexp, die auch deinen Ausnahmefall abfängt:
$pattern="/^[0-9]+([\.,][0-9]+)?$/";
damit sind
1. glatte Eingaben, wie zB 20, sowie
2. Kommabeträge, wie zB 32.56 oder 184,88
möglich. Dein
,0045,00 wird dadurch abgefangen...