JS 判断输入的日期与时间

作用判断用户输入的日期或时间是否满足(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>&nbsp;</TD>
       <TD>
         <input type="text" name="textfield" id="iptTime" onBlur="TimeJudge(this)">
         </TD>
       <TD>&nbsp;</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>

转载于:https://www.cnblogs.com/hd05el/archive/2008/11/13/1332413.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值