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學習資源

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 桃园县| 宁国市| 合阳县| 东安县| 莱西市| 宝兴县| 新乡市| 林周县| 侯马市| 金溪县| 银川市| 江阴市| 会同县| 西峡县| 贵港市| 新郑市| 英德市| 淅川县| 永胜县| 桂东县| 浦东新区| 高尔夫| 出国| 隆安县| 阿尔山市| 陈巴尔虎旗| 广宗县| 德昌县| 西乌珠穆沁旗| 六枝特区| 塔城市| 稻城县| 界首市| 图木舒克市| 微山县| 武隆县| 武清区| 遂川县| 中山市| 清丰县| 鄱阳县|