校验时间输入(类似 18:25 am)function checktime(ctime)
{
if (ctime.length == 0) return true; var re=/^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])){0,2}\s?[aApP][mM])?$/;
return re.test(ctime);
}

解决方案 »

  1.   

    function fnCheckData(strValue)
    {    
        //strValue 被检测的日期字符
         strValue=new String(strValue);
         var Reg;
         var iDotPos,iYear,strRight,iMonth,iDay;
         //日期的正则表达式,d(n)表示必须有n个数字,"|"表示或的关系,“\/"是转意符表示字符"/",
         //以下字符的意思是符合2002/7/30 ,02/07/3.....等形式的字符表达式
         Reg=/^(\d{2}|\d{4})\/(\d{1}|\d{2})\/(\d{1}|\d{2})$/;   
         if(Reg.test(strValue))           //检测是否匹配
         {
          iDotPos=strValue.search("\/");
          iYear=strValue.substring(0,iDotPos);    //读出年份
            strRight=strValue.substring(iDotPos+1,strValue.length);
            iDotPos=strRight.search("\/");            
            iMonth=strRight.substring(0,iDotPos);        //读出月份
            iDay=strRight.substring(iDotPos+1,strRight.length);   //读出日
            if(iMonth>12||iMonth==0)          
            {
             return false;
            }
            if(iMonth==2)
            {
                if (iYear<100) iYear+=2000;
                if ((iYear % 4 == 0 && iYear % 100 != 0) || iYear % 400 == 0)    //检测是否闰年
                {
                 if(iDay>29||iDay==0) return false; 
                }
                else
                {
                 if(iDay>28||iDay==0) return false;
                }
                return true;
            }
            else if(iMonth==1 || iMonth==3 || iMonth == 5 ||iMonth==7 || iMonth==8 || iMonth==10 || iMonth==12) 
            {
             if(iDay>31||iDay==0)
             {
           
                     return false;
                    }
            }
            else
            {
             if(iDay>30||iDay==0)
             {
           
                return false;
             }
            }
           
           return true;  
         }
         else
         {
         
          return false;
         }
    }
    以前写的检测日期函数
      

  2.   

    <script>
    var a=1
    var b=new Date()
    alert(typeof(a)=="number")
    alert(/Date/.test(b.constructor))
    </script>
      

  3.   

    以下是秋水提供的﹐粘他的光﹐嘻...
    秋水﹕如果你看見了就幫個忙解決一下這個吧
    http://expert.csdn.net/Expert/topic/1232/1232907.xml?temp=.7534143
    function strDate(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
    }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
    }function strEmail(str){
    //檢測E_MAIL
    var pattern = /^([\.a-zA-Z0-9_-]){3,}@([a-zA-Z0-9_-]){3,}(\.([a-zA-Z0-9]){2,4}){1,2}$/; 
    return pattern.test(str);
    }function strEnglish(str){
    //是否只含英文
    var pattern = /[^\x00-\xFF]/; 
    return !pattern.test(str);
    }function strChinese(str){
    //只含中文(對簡體有效)
    var pattern = /[^\u4E00-\u9FA5]/; 
    return !pattern.test(str);
    }/*檢測數據類型用
    typeof[()expression[]] ;
    expression 參數是需要查找類型信息的任意表達式。 說明﹕
    typeof 運算符把類型信息當作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."
    function isDate(d){return d.constructor==Date;}
    function isNull(n){return n==null;}
    function isNumeric(i){return typeof(i)=="number";}
    function isObject(o){return typeof(o)=="object";}
    */