Ik heb een regex die de postcode controleerd.
Maar deze wordt niet gedraaid.
Op een of andere manier slaat hij hem over.
if (ereg("^[0-9]{4} [a-zA-Z]{2}$", $post)){
echo "<script>
alert('Gelieve uw postcode op deze manier in te vullen: 1234 AB');
history.back();
</script>";
exit();
}
Je regex is inderdaad niet correct. Voorbeeldje dat wel werkt:
<?php
$pcs = array (
'0123AA',
'0123 AA',
'1234AA',
'1234 AA'
);
foreach ($pcs as $pc) {
if (preg_match ('/^[1-9]{1}[0-9]{3}\s?[a-zA-Z]{2}$/', $pc)) {
echo 'geldig: ' . $pc;
}
else {
echo 'ongeldig: ' . $pc;
}
echo '<br />';
}
?> Edit: Mijn regex staat een spatie toe tussen de vier letters en de twee cijfers. Bovendien eist hij dat het eerste cijfer geen nul mag zijn.
@Jan;
Als een regexps-expressie tussen brackets ([ en ]) maar één keer hoeft voor te komen ([1-9]{1}), kun je ook {1} weglaten.
Verder mooi en handig inderdaad :)
if (preg_match ('/^[1-9]{1}[0-9]{3}\s?[a-zA-Z]{2}$/', $post)){
echo "<script>
alert('Gelieve uw postcode op deze manier in te vullen: 1234 AB');
history.back();
</script>";
exit();
}