Jeg er i gang med at laere mig selv php/css/mysql og paa det sidste ogsaa javascript. Jeg har fundet god oevelse i at laese spoergsmaal her paa eksperten og proevet at finde en loesning, oftest ved hjaelp af meget googlen og endnu mere "trial and error." Jeg mener at have fundet en loesning, foreloebig i php, paa dit spoergsmaal. Den bruger din regex for jnr uforandret og saa checker den ved hjaelp af checkdate() om det er en valid dato, altsaa inklusiv skudaar og lignende, og til sidst checker den om timer og minutter ligger indenfor de tilladte vaerdier.
Det har jeg vaeret laenge om (jeg startede omtrent da du oprettede spoergsmaalet,) men jeg har laert meget. Jeg skal nu proeve om jeg ogsaa kan lave det i javascript.
Jeg lavede en lille hjemmeside,
http://christianjorgensen.be/hundevennen.php, hvor du kan se og afproeve resultatet. Her er koden:
<html>
<head>
<title></title>
</head>
<body>
<form name=sampleform action="<?print $_SERVER["PHP_SELF"];?>" method=post>
<label for="jrn">Fyld ind journal nummer </label><input type="text" name="jrn" id="jrn" /><br/>
<label for="dato">Fyld ind dato, format dd-mm-aa </label><input type="text" name="dato" id="dato"/><br/>
<label for="tid">Fyld ind tidspunkt, format ttmm </label><input type="text" name="tid" id="tid"/><br/>
<input type="submit" name="submit"/>
</form>
<?
if($_POST['submit'])
{
if(preg_match('/^\d{4}-\d{5}-\d{5}-\d{2}$/', $_POST['jrn']))
echo "Journal rigtigt<br/>";
else echo "Journal forkert<br/>";
if(preg_match('/^\d{2}-\d{2}-\d{2}/', $_POST['dato']))
{
$dato = split("-", $_POST['dato']);
if($dato[2] > 20) $dato[2] += 1900;
else $dato[2] += 2000;
if(checkdate($dato[1], $dato[0], $dato[2]))
echo "valid dato! <br/>";
else echo "forkert dato! <br/>";
}
$tid = strval($_POST['tid']);
$time = substr($tid, 0,2);
$minut = substr($tid, 2, 2);
if($time >= "00" && $time <= "24" && $minut >= '00' && $minut <= '60') echo "Tidspunkt correct!<br/>";
else echo "Tidspunkt forkert!<br/>";
}
?>