现在的位置: 首页 > 综合 > 正文

自动格式化日期js

2011年12月23日 ⁄ 综合 ⁄ 共 4486字 ⁄ 字号 评论关闭
<script  type="text/javascript" language="javascript">
    isDataTime 
= function (e,obj) {
    
try{    
        
var key;
        
if ((document.all) ? true:false)
        {
            key 
= event.keyCode;
        }
        
else
        {
            key 
= e.which;
        }

        if ( (key > 47&& (key < 58) )
        {
            
var otext = obj.value;                    //已有的值
            var keytext = String.fromCharCode(key);   //当前输入的值
            
            
//begin
            
               
if(otext.length == 3)    //
               {
                    
var val = otext + keytext;
                    
var t = parseInt(val);
                        
if(t >= 2050)
                         obj.value 
= " " + otext + "" + keytext;
                        
else
                         obj.value 
= otext + keytext + "";
                     
return false;
               }
               
else if(otext.length == 5//月的第一位
               {
                    
var val = keytext;
                    
var t = parseInt(val);
                    
if(t > 1)
                    {
                        obj.value 
= otext.substring(0,5+ "0" + keytext + "";
                        
return false;
                    }
               }
               
else if(otext.length == 6//月的第二位
               {
                    
var val = otext.substring(5,6+ keytext;
                    
var t = parseInt(val);
                    
if(t > 12)
                        obj.value 
= otext.substring(0,5+ "0" + otext.substring(5,6+ "" + keytext;
                    
else
                        obj.value 
= otext + keytext + "";
                    
return false;
               }
               
else if(otext.length == 8//日的第一位
               {
                    
var val = keytext;
                    
var t = parseInt(val);
                    
if(t > 3)
                    {
                        obj.value 
= otext.substring(0,8+ "0" + keytext + "日 ";
                        
return false;
                    }
               }
               
else if(otext.length == 9)//日的第二位
               {
                    
var val = otext.substring(8,9+ keytext;
                    
var t = parseInt(val);
                    
if(t > 31)
                        obj.value 
= otext.substring(0,8+ "0"  + otext.substring(8,9+ "日 " + keytext;
                    
else
                        obj.value 
= otext + keytext + "日 ";
                    
return false;
               }
               
else if(otext.length == 12//时的第一位
               {
                    
var val = keytext;
                    
var t = parseInt(val);
                    
if(t > 2)
                    {
                        obj.value 
= otext.substring(0,12+ "0" + keytext + "";
                        
return false;
                    }
               }
               
else if(otext.length == 13)//时的第二位
               {
                    
var val = otext.substring(12,13+ keytext;
                    
var t = parseInt(val);
                    
if(t >= 24)
                        obj.value 
= otext.substring(0,12+ "0" + otext.substring(12,13+ "" + keytext;
                    
else
                        obj.value 
= otext + keytext + "";
                    
return false;
               }
               
else if(otext.length == 15//分的第一位
               {
                    
var val = keytext;
                    
var t = parseInt(val);
                    
if(t > 5)
                    {
                        obj.value 
= otext.substring(0,15+ "0" + keytext + "";
                        
return false;
                    }
               }
               
else if(otext.length == 16)//
               {
                    
var val = otext.substring(15,16+ keytext;
                    
var t = parseInt(val);
                    
if(t > 59)
                        obj.value 
= otext.substring(0,15+ "0" + keytext + "";
                    
else
                        obj.value 
= otext + keytext + "";
                    
return false;
               }   
               
else if (otext.length > 17)
                    
return false;
               
else
               {
                    
return true;
               }                    
            
//end
         }
         
else if(key == 8)
         { 
            
return true;
         }
         
else
         {
            
return false;
         }
       }
       
catch(e)
       {
            alert(e);
       }
     }
</script>
<input style="width:160px;" onkeypress="javascript:return isDataTime(event,this);" />

 测试环境:IE 8, Firefox 3.5.2

抱歉!评论已关闭.