allora probabilmente hai un errore nel codice restante...
se provi a copiare l'esempio seguente, la regexp accetta solo anni a 4 cifre
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>xhtml 1.0</title>
<script type="text/javascript">
// <![CDATA[
function checkdata(dt){
var re5digit=/^(0[1-9]|[12]\d|3[01])\/(0[1-9]|1[012])\/(19|20|21)\d{2}$/;
data = document.getElementById(dt);
if (!re5digit.test(data.value)) {
alert("Please enter a valid data");
data.focus();
return false;
}
else {
alert('la regexp accetta questa data');
}
}
// ]]>
</script>
</head>
<body>
<input type="text" value="10/08/1978" id="data" />
<input type="button" value=" check " onclick="checkdata('data');" />
</body>
</html>