posts - 23,  comments - 1,  trackbacks - 0

          <script language=javascript>
          function strDateTime(str){
          var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
          var r = str.match(reg);
          if(r==null)return false;
          var d= new Date(r[1], r[3]-1,r[4]);
          var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
          return newStr==str
          }
          alert(strDateTime("2002-1-31"))
          alert(strDateTime("2002-1-41"))
          </script>
          <script language=javascript>
          function strDateTime(str){
          var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
          var r = str.match(reg);
          if(r==null)return false;
          var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
          var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()
          return newStr==str
          }
          alert(strDateTime("2002-1-31 12:34:56"))
          alert(strDateTime("2001-2-29 12:54:56"))
          alert(strDateTime("2002-1-41 12:00:00"))
          </script>

          <script language="javascript">
          var s="2002-4-16"
          alert(chkDate(s));
          function chkDate(sDate){
          var r=/\d{4}(?:-\d{1,2}){0,2}/
          //正則表達式,判斷是否為yyyy-mm-dd,yyyy-mm,yyyy格式
          if(sDate.match(r)==sDate){
           var arr=sDate.split("-")
           switch(arr.length){
           //根據不同的yyyy-mm-dd,yyyy-mm格式判斷年月日數字是否正確
            case 3:
            var tmpDate=new Date(arr[0],arr[1],arr[2]);
            if(tmpDate.getMonth()==arr[1] && tmpDate.getFullYear()==arr[0]) return true;
            break;
            case 2:
            if(arr[1]<13) return true;
            break;
            default:
            return false;
           }
          }
          return false;
          }
          </script>

          /*
          時間有效性判斷函數
          All by happywinds
          */
          function verifyDate(textObj) {
            var str=textObj.value;
          textObj.value = textObj.value.replace(/\s+/g,"");
            if(str.search(/^\d{4}-\d{1,2}-\d{1,2}$/) == 0){
           var y = parseInt(str.split("-")[0]);
             var m = parseInt(str.split("-")[1]);
             var d = parseInt(str.split("-")[2]);
           switch(m){
             case 1:
             case 3:
             case 5:
             case 7:
             case 8:
             case 10:
             case 12:
              if(d>31){
              return false;
                    textObj.focus();
                    textObj.select();
            }else{
              return true;
            }
              break;
            case 2:
              if((y%4==0 && d>29) || ((y%4!=0 && d>28))){
              return false;
                    textObj.focus();
                    textObj.select();
            }else{
              return true;
            }
              break;
             case 4:
             case 6:
             case 9:
             case 11:
              if(d>30){
              return false;
                    textObj.focus();
                    textObj.select();
            }else{
              return true;
            }
              break;
            default:
              return false;
                    textObj.focus();
                    textObj.select();
           }
          }else{
             return false;
                    textObj.focus();
                    textObj.select();
          }
          }

          原文鏈接
          posted on 2006-05-16 19:25 咖啡時間 閱讀(1581) 評論(1)  編輯  收藏


          FeedBack:
          # re: 一段判斷日期時間是否有效的JavaScript
          2013-06-25 15:19 | 時光飛啊
          判斷
          IsDate中if(tmpDate.getMonth()==arr[1] && tmpDate.getFullYear()==arr[0]) 中getMonth()函數是應該從0開始的吧,這樣判斷不出來的  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2006年5月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          專 注 Java 技 術 的 開 發... ... 享 受 Java 咖 啡 的 美 味... ... 擁 有 Sun 一 般 的 人 生

          常用鏈接

          留言簿(1)

          隨筆檔案(23)

          文章檔案(1)

          Java學習資源

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 枝江市| 景德镇市| 镇雄县| 色达县| 扎鲁特旗| 涪陵区| 洛扎县| 辉县市| 嫩江县| 来凤县| 宜君县| 兴海县| 获嘉县| 鱼台县| 大同市| 新绛县| 合水县| 灵山县| 嘉祥县| 上饶市| 海安县| 墨竹工卡县| 清新县| 桦南县| 千阳县| 山丹县| 华容县| 沈丘县| 密山市| 武定县| 隆回县| 黑龙江省| 康保县| 湘潭县| 图们市| 高陵县| 霍林郭勒市| 平山县| 定陶县| 自贡市| 兴海县|