form data validate volgens bepaalde input
chris Bosmans
06/01/2016 21:47:58ik zou graag 1 veld in een form willen valideren volgens een toegelegde input
bijvoorbeeld als volgend
O25M991234
dus 1=> Letter
daarna 2 cijfers
dan terug 1 letter
dan standaard 6 cijfers
hoe kan ik dit doen
ik heb geen flauw benul hoe je dit het best zou kunnen
ik heb iets in het gerne als hieronder maar kan dit nog op een gemakkelijker manier?
bijvoorbeeld als volgend
O25M991234
dus 1=> Letter
daarna 2 cijfers
dan terug 1 letter
dan standaard 6 cijfers
hoe kan ik dit doen
ik heb geen flauw benul hoe je dit het best zou kunnen
ik heb iets in het gerne als hieronder maar kan dit nog op een gemakkelijker manier?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$batch="O25A991234";
$aantalcharc= strlen($batch);
$digit1=substr($batch,-10,1);
$digit23 = substr($batch, -9, 2);
$digit4 = substr($batch, -7, 1);
$digit99=substr($batch,-6, 2);
$digitlast4=substr($batch,-4);
if (($aantalcharc==10)&&(!is_numeric($digit1))&&(is_numeric($digit23))&&(!is_numeric($digit4))&&($digit99==99)&&(is_numeric($digit23))){echo "ok";}else {echo "nok";}
?>
$batch="O25A991234";
$aantalcharc= strlen($batch);
$digit1=substr($batch,-10,1);
$digit23 = substr($batch, -9, 2);
$digit4 = substr($batch, -7, 1);
$digit99=substr($batch,-6, 2);
$digitlast4=substr($batch,-4);
if (($aantalcharc==10)&&(!is_numeric($digit1))&&(is_numeric($digit23))&&(!is_numeric($digit4))&&($digit99==99)&&(is_numeric($digit23))){echo "ok";}else {echo "nok";}
?>
PHP hulp
22/11/2024 01:00:57Thomas van den Heuvel
06/01/2016 21:53:19Dit kan middels een reguliere expressie.
EDIT: $input vergeten in preg_match >_<
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$input = '...';
// i-flag is voor case-insensitive matching
if (preg_match('#^[a-z][0-9]{2}[a-z][0-9]{6}$#i', $input) === 1) {
echo 'input voldoet';
} else {
echo 'input voldoet niet';
}
?>
$input = '...';
// i-flag is voor case-insensitive matching
if (preg_match('#^[a-z][0-9]{2}[a-z][0-9]{6}$#i', $input) === 1) {
echo 'input voldoet';
} else {
echo 'input voldoet niet';
}
?>
EDIT: $input vergeten in preg_match >_<
Gewijzigd op 06/01/2016 21:54:28 door Thomas van den Heuvel
chris Bosmans
06/01/2016 21:56:52Thomas van den Heuvel
06/01/2016 22:00:09?
Je bedoelt dat daar twee keer het cijfer 9 in voor moet komen?
EDIT: en zijn dat altijd de eerste twee digits? die kun je dan gewoon weglaten uit het patroon, dus die zet je er gewoon "vast" in, dus in plaats van [0-9]{6} doe je 99[0-9]{4}.
Je bedoelt dat daar twee keer het cijfer 9 in voor moet komen?
EDIT: en zijn dat altijd de eerste twee digits? die kun je dan gewoon weglaten uit het patroon, dus die zet je er gewoon "vast" in, dus in plaats van [0-9]{6} doe je 99[0-9]{4}.
Gewijzigd op 06/01/2016 22:02:47 door Thomas van den Heuvel