Om te checken of een datum goed ingevoerd is maak ik gebruik van een reguliere expressie.
Het gaat mij hier alleen om de vorm, dus niet het daadwerkelijk kloppen van de datum. De datum moet van de vorm xx-xx-xxxx zijn. Maar kan ook x-xx-xxxx, xx-x-xxxx, xx-xx-xx, x-xx-xx of xx-x-xx zijn.
De code die ik gebruik om te testen is als volgt:
Wanneer ik dit uitvoer krijg ik bij een datum van een vorm die aan de reguliere expressie voldoet steeds de melding 'date not ok!'. Bij een datum die niet aan de expressie voldoet krijg ik dezelfde melding.
Klopt mijn reguliere expressie dan niet
Het gaat mij hier alleen om de vorm, dus niet het daadwerkelijk kloppen van de datum. De datum moet van de vorm xx-xx-xxxx zijn. Maar kan ook x-xx-xxxx, xx-x-xxxx, xx-xx-xx, x-xx-xx of xx-x-xx zijn.
De code die ik gebruik om te testen is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <HTML>
<HEAD>
<TITLE>Test</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
datumreg = /\d\d?-\d\d?-\d{2}\d{2}?/;
function testDate() {
OK = datumreg.exec();
if (!OK)
alert("date not ok!");
else
alert("date ok!");
}
-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<INPUT SIZE="30" ONCHANGE="javascript:testDate(this)">
</BODY>
</HTML> |
Wanneer ik dit uitvoer krijg ik bij een datum van een vorm die aan de reguliere expressie voldoet steeds de melding 'date not ok!'. Bij een datum die niet aan de expressie voldoet krijg ik dezelfde melding.
Klopt mijn reguliere expressie dan niet