invoerveld controleren op waarde van 001-999 met methode post
dit veld kan uitsluitend een waarde hebben tussen 001 en 999
dacht het op deze manier op te lossen
//Controleren of er bij Get numeriek is ingevuld.
if (strlen($LhGet1) > 0){
$LhGet1 = floatval($LhGet1);
if (is_integer($LhGet1)) {
$error[]="is numeriek.";
} else {
$error[]="is NIET numeriek.";
}
}
hier krijgt '001' de waarde 1
de waarde moet echter 001 blijven
Hoe los ik dat op of is er een andere truc dan bovenstaande script.
ben nog niet zo lang met php bezig....
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if( empty($nummer)
|| !ctype_digit((string)$nummer)
|| !isset($nummer[2]) )
{
// FOUT!
}
// $nummer bestaat
// uit getallen (is niet leeg of nul)
// en is 3 tekens lang.
?>
if( empty($nummer)
|| !ctype_digit((string)$nummer)
|| !isset($nummer[2]) )
{
// FOUT!
}
// $nummer bestaat
// uit getallen (is niet leeg of nul)
// en is 3 tekens lang.
?>
edit:
Misschien dat "000" er doorheen komt in dat geval zou je "empty($nummer) " kunnen vervangen door "empty((int)$nummer) ". Het is misschien makkelijker om een extra controle erin te maken.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if(preg_match('_^[0-9]{2}[1-9]{1}$_', $nummer))
{
// Nummer tussen 001 en 999
}
?>
if(preg_match('_^[0-9]{2}[1-9]{1}$_', $nummer))
{
// Nummer tussen 001 en 999
}
?>
@Blanche: Kan het dat de waarde 450 hier niet zal gevalideerd worden?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if(preg_match('_^[0-9]{3}$_', $nummer) && $nummer != '000')
{
// Nummer tussen 001 en 999
}
?>
if(preg_match('_^[0-9]{3}$_', $nummer) && $nummer != '000')
{
// Nummer tussen 001 en 999
}
?>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if(preg_match('_^[0-9]{3}$_', $nummer) && $nummer != '000')
{
// Nummer tussen 001 en 999
}
?>
if(preg_match('_^[0-9]{3}$_', $nummer) && $nummer != '000')
{
// Nummer tussen 001 en 999
}
?>
Harstikke bedankt dat jullie geholpen hebben.
het is voor het eerst dat ik iets op een forum plaatst en met succes!!