我这样写为什么不行?谁能给我解释下这句判断年月日的表达式是什么意思
<script language="javascript">
function check(){
var user=document.form1.txt.value
var pattern=/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/;
if(pattern.test(user))
{
alert("日期输入有误");
return false;
}
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onSubmit="return check()">
<label>
<input type="text" name="txt" >
</label>
<p>
<label>
<input type="submit" name="Submit" value="提交" >
</label>
</p>
</form>