Pagina 1 van 1

[php] Enkel nummerieke input in field

BerichtGeplaatst: 26 dec 2010 23:13
door Johan
Een korte snippet om PHP te laten checken of er wel echt nummerieke input is, handig bij een ID of leeftijd. ;)

In HTML5 werkt <input type="numbers" .... /> ook, maar omdat dat nog lang niet altijd wordt geaccepteerd door browsers, hier een PHP code:

Code: Selecteer alles
$leeftijd = $_POST["leeftijd"];
if ( !eregi( "^[0-9]+$", $leeftijd )) {
    echo "Leeftijd moet uit enkel nummers bestaan!";
}
 


Voor phpBB is het beter om trigger_error("Leeftijd moet uit nummers bestaan!"); beter om te gebruiken. Let er wel op bij leeftijden dat de velden ook een maxlength="2" mee moeten krijgen, tenzij je 100+'ers verwacht :)

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 26 dec 2010 23:45
door KillerSponge
Óf je gebruikt gewoon is_int() :P

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 27 dec 2010 17:06
door frizzy
Kan je niet beter is_numeric gebruiken?
Note:

To test if a variable is a number or a numeric string (such as form input, which is always a string), you must use is_numeric().


Bron: http://nl2.php.net/is_int

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 27 dec 2010 17:34
door KillerSponge
String handling is idd iets anders. Het vervelende van is_numeric is dat hij ook getallen als 4e2 pikt, wat je meestal niet wilt. Wat je natuurlijk ook gewoon kan doen is hard casten naar (int), weet je zeker dat er niks raars in zit ;)

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 06 jan 2011 12:43
door frizzy
Code: Selecteer alles
function real_numeric($getal){
   if( is_numeric( (int) $getal ) ){
     return true;
   }
   else{
    return false;
   }
}

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 06 jan 2011 13:02
door KillerSponge
Als je cast naar int ben je er al zeker van dat het een numeric is, gezien (int)"appel"; gewoon 0 teruggeeft, dus deze functie zal altijd true returnen :P

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 06 jan 2011 16:46
door frizzy
omg, dom xD

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 05 nov 2011 22:09
door frizzy
Je bedekt zoveel bases, super gewoon! P.s. doe ff wat aan die bots, wmp is dan wel dood, dit doe je een forum toch niet aan ;)

Re: [php] Enkel nummerieke input in field

BerichtGeplaatst: 28 dec 2011 11:12
door Remi
En al wil je ook komma getallen dan gebruik je:
Code: Selecteer alles
eregi( "^[0-9.]+$", $getalMetPunt );
eregi( "^[0-9,]+$", $getalMetKomma );