[PHP] ereg check

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mensen,

Ik ben bezig met een check voor een invoer veld. De check welke gedaan moet worden is een prijs.
Dit betent dat hij alleen true mag geven als de prijs is opgebouwd met:
- 2 cijfers achter de komma
- een komma dus
- en max 4 cijfers voor de komma. (Mooier nog als deze als variable mee gegeven kan worden!)

Ik heb heel wat topics doorgenomen. En tot het volgende ben ik gekomen..

PHP:
1
2
3
function Check_Prijs($a) { 
      return ereg("^[0-9]{1,2,3},[0-9]{2}$",$a);
    }


Wie helpt mij.

Acties:
  • 0 Henk 'm!

Verwijderd

{1,2,3} heb je zelf verzonnen. Lees de documentatie eens iets beter. Het is bijvoorbeeld {2} precies twee, {,4} vier of minder, {2,} twee of meer of {2,4} tusse twee en vier inclusief.

Verder kun je beter meteen aanleren om de ereg functies nooit te gebruiken, en alles met de preg functies te doen. Daar heb je op de lange duur veel meer aan.

[ Voor 6% gewijzigd door Verwijderd op 01-06-2009 19:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Idd. De 1,2,3 heb ik zelf verzonnen. Maar ik behaalde het effect ook niet met 1,2 . Maar ik zal eens gaan experimenteren met de preg..

Acties:
  • 0 Henk 'm!

  • wjzijderveld
  • Registratie: Augustus 2005
  • Laatst online: 23-08 10:55
Je kan dezelfde regex gebruiken. Maar zoals Cheatah al aangaf. {,4} should do the trick.
Probeer het zo eens:
PHP:
1
2
3
4
5
<?php
function Check_Prijs($a) { 
      return preg_match("/^[0-9]{,4},[0-9]{2}$/",$a);
    }
?>

Canon EOS60D | Canon 100mm f/2.8 USM | Canon 100-400mm f/4.5-5-6L | Canon 10-22mm f/3.5-4.5 USM | Canon 430EX II


Acties:
  • 0 Henk 'm!

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver

March of the Eagles


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
wjzijderveld schreef op maandag 01 juni 2009 @ 22:47:
Je kan dezelfde regex gebruiken. Maar zoals Cheatah al aangaf. {,4} should do the trick.
Probeer het zo eens:
PHP:
1
2
3
4
5
<?php
function Check_Prijs($a) { 
      return preg_match("/^[0-9]{,4},[0-9]{2}$/",$a);
    }
?>
Idd.
dat werkte al aardig. Alleen zelf een variabele lengte opgeven ging nog niet.
Maar dat kwam omdat ik vergeten was deze te defineren in de functie.

Eind resultaat:

PHP:
1
2
3
function Check_Prijs($a,$lengte) { 
      return preg_match("/^[0-9]{1,".$lengte."},[0-9]{2}$/", $a);
}
Pagina: 1