作用判断用户输入的日期或时间是否满足(yyyy-mm-dd或yyyy-m-dd HH:MM:ss或yyyy-m-dd HH:MM)格式,
如果不满足则进行提示并强制改为当前时间.
代码:
</html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form name="form1" method="post" action="">
<TABLE cellSpacing=3 cellPadding=0 width="100%" border=0>
<TBODY>
<TR align=center>
<TD> </TD>
<TD>
<input type="text" name="textfield" id="iptTime" onBlur="TimeJudge(this)">
</TD>
<TD> </TD>
</TR>
</TBODY>
</TABLE>
</form>
<SCRIPT language="javascript">
function TimeJudge(e) {
var timeStr = e.value; var result=true; var iKG=-1;var temp="";
var arrTemp = new Array(); var dft=""; var dx = new Date();
var reg = /[1-9]{1}\d{3}-\d{1,2}-\d{1,2}(( \d{1,2}:\d{1,2})?(:\d{1,2})?)?$/; //到日 到分 到秒
dft = dx.getYear()+"-"+(dx.getMonth()+1)+"-"+dx.getDate();
if(reg.test(timeStr)) {
iKG=timeStr.indexOf(' ');
if(iKG>0) {
temp = timeStr.substring(0,iKG);
arrTemp = temp.split("-");
if(arrTemp[1]>12 || arrTemp[2]>31)
result = false;
else
dft = temp;
timeStr = timeStr.substring(iKG,timeStr.length); // substring(begin,end)
arrTemp = timeStr.split(":");
if(arrTemp[0]>23 || arrTemp[1]>59) { // to Minutes
result = false;
dft +=" "+ dx.getHours()+":"+dx.getMinutes();
}
else {
dft += arrTemp[0].toString()+":"+arrTemp[1].toString();
}
if(arrTemp[2]!= null) {
if( arrTemp[2]>59 ) { // to Seconds
result = false;
dft +=":"+dx.getSeconds();
}
else {
dft += ":"+arrTemp[2].toString();
}
}
}
else { // to Day
arrTemp = timeStr.split("-");
if(arrTemp[1]>12 || arrTemp[2]>31)
result = false;
}
}
if(!result) {
alert("Error: transfer it to current Day by the constraint");
e.value = dft;
}
}
</SCRIPT>
</body>
</html>