Ik zit al de hele avond te wordstelen met een script.

Ik heb een formulier, waar de gebruiker een waarde in moet voeren. Echter het mag alleen maar cijfers bevatten maar er moet op het einde wel een komma gezet worden met twee cijfers erachter. Iets als 200,99 of 3000.90
Het lukt me niet,

Heb hetvolgende:

elseif (!preg_match('/^[0-9]+.+[0-9]/', $bod )) { $error="Bedrag moet zijn B.V. 50,00 !";}

Maar zo lukt het in ieder geval niet, kan iemand me misschien effe helpen?

Alvast bedankt,
Gr. Roy
'/^[0-9]+(\.|,)[0-9]{2}$/'

Volgens mij kun je ook \d doen voor nummers.
/^[0-9]*+.[0-9]{2,2}/'

Heb nu dit: nummer 0-9 onbeperkt, gevolgd door een punt daarna nummers 0 t/9 minimaal 2 maximaal 2
Zitten hier nog nadelen aan?

Martijn, bedankt voor je reactie !

Gr. Roy
Ik snap die + in je patroon niet en {2,2} is gewoon {2}. En als je wil dat het patroon moet matchen met de hele string dan begin je met ^ en eindig je met $. Dus je komt weer om mijn patroon uit ;D

Met jou patroon is ".10" ook geldig.

Edit:

'/^\d+(\.|,)\d{2}$/'

Deze zou het ook moeten doen.

Dank je martijn, ik snap van die hele patronen niets kan er ook weinig over vinden moet ik zeggen, dit is een superhandige functie, maar je moet de combinaties eigelijk ergens gespecificeert hebben. Ik heb jou laatste code gebruikt.

Hoop dat het allemaal goed gaat,

Nogmaals, hartstikke bedankt !

Reageren