form data validate volgens bepaalde input

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Chris Bosmans

chris Bosmans

06/01/2016 21:47:58
Quote Anchor link
ik 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?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";}


?>
 
PHP hulp

PHP hulp

26/04/2024 00:29:28
 
Thomas van den Heuvel

Thomas van den Heuvel

06/01/2016 21:53:19
Quote Anchor link
Dit kan middels een reguliere expressie.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
}

?>


EDIT: $input vergeten in preg_match >_<
Gewijzigd op 06/01/2016 21:54:28 door Thomas van den Heuvel
 
Chris Bosmans

chris Bosmans

06/01/2016 21:56:52
Quote Anchor link
ok hoe doe je de check van de 2 x 9 in de laatste 6 digits (991234)
 
Thomas van den Heuvel

Thomas van den Heuvel

06/01/2016 22:00:09
Quote Anchor link
?

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
 
Chris Bosmans

chris Bosmans

06/01/2016 22:16:40
Quote Anchor link
inderdaad altijd 2 x 9 op dezelfde plaats

merci
ok zo simpel is dat dus :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.