自动格式化日期js

< 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

转载于:https://www.cnblogs.com/EasyData/archive/2009/08/25/1553855.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值