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){
           //根據(jù)不同的yyyy-mm-dd,yyyy-mm格式判斷年月日數(shù)字是否正確
            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>

          /*
          時間有效性判斷函數(shù)
          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]) 中g(shù)etMonth()函數(shù)是應該從0開始的吧,這樣判斷不出來的  回復  更多評論
            

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


          網(wǎng)站導航:
           
          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          專 注 Java 技 術(shù) 的 開 發(fā)... ... 享 受 Java 咖 啡 的 美 味... ... 擁 有 Sun 一 般 的 人 生

          常用鏈接

          留言簿(1)

          隨筆檔案(23)

          文章檔案(1)

          Java學習資源

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阿荣旗| 连城县| 枣阳市| 江孜县| 青田县| 诏安县| 务川| 宜春市| 合川市| 津南区| 镶黄旗| 淮北市| 饶河县| 黄梅县| 达州市| 波密县| 定安县| 蓬莱市| 泉州市| 衢州市| 平邑县| 木兰县| 耿马| 广州市| 临汾市| 体育| 获嘉县| 丰镇市| 巨野县| 清徐县| 高唐县| 巴马| 宜春市| 常宁市| 波密县| 盱眙县| 丰顺县| 保康县| 连州市| 陆河县| 安福县|