大哥们帮我个忙<input type="text" value="0000-00-00 hh:mm" id="date">
输入日期是数字都不用说了
前四个数字替换前四个0,然后光标自动跑到‘-’后面,接着输入月份,替换月份的两个0,然后光标再次跑到月份的‘-’后面,其他同上就是输入数字自动替换指定的格式,也就是0000-00-00 hh:mm
如:1986-06-05 16:34
输入1986替换成1986-00-00 hh:mm
然后光标跑到1986-后面,在输入两个数字替换00,成
1986-06-00 hh:mm,其他同上最重要的是如何判断输入的字符串是否合法和是否存在
如:那一年是否是平年或闰年,还有那个月的阳历是否有31天

解决方案 »

  1.   


    function checkDate(s){
      // s = "1986-06-05 16:34"
      var sDate = s.split(" ")[0];
      var sTime = s.split(" ")[1];
      var aItms = sDate.split("-");
      var y = parseInt(aItms[0]);
      var m = parseInt(aItms[1]-1);
      var d = parseInt(aItms[2]);
      var h = parseInt(sTime.split(":")[0]);
      var n = parseInt(sTime.split(":")[1]);
      var dt = new Date(y, m, d, h, n);
      if(dt.getFullYear()!=y || dt.getMonth()!=m || dt.getDate()!=d || dt.getHours()!=h ||dt.getMinutes()!=n) return false;
      else return true;
    }alert(checkDate("1986-06-31 16:34"))
      

  2.   

    楼主何必这么麻烦,用梅花雪的日期脚本选择,就很方便
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html