用javascript实现input框日期时间格式化输入

在页面代码中使用
...
<script language="javascript" src="../public/datetime.js"></script>
<script language="javascript" type="text/javascript">
...
function submit()
{
...
if(isDate("starttime")==false){return false;}//提交时检查时间是否输入正确
...
}
</script>
...
时 间:<input name="datetime" type="text" onkeyDown="inputdatetime('starttime')"  value="0000-00-00 00:00:00" size="20" maxlength="19"  />
...
<script language="javascript" type="text/javascript">
document.all("datetime").value=changedatetime("datetime");//将时间格式化
</script>

日期时间格式化函数
datetime.js
function inputdatetime(objectname)
{
var oInput=document.all(objectname);
var range=document.all(objectname).createTextRange();//为元素创建一个 TextRange 对象。
var selrange = document.selection.createRange();//从当前文本选中区中创建 TextRange 对象
var startpos = 0,endpos = 0;
var oLeft;
var oRight;
var oLength;
var pos;
var cursorpos=0;//光标下一个相对位置
var cursorpos1=0;//光标结束位置
var keytext;
var curtext=range.text;//当前input框文本
var charbuff;//暂存字符
while(selrange.compareEndPoints("StartToStart",range)>0)//比较 TextRange 对象的结束点和其它范围的结束点。
{
selrange.moveStart("character",-1);//更改范围的开始位置。Moves one or more characters
startpos ++;
}
oLength=curtext.length;

if(startpos>18)//光标位置超出范围
   {   
    if(event.keyCode==8)//后退键特殊情况
        { oLeft=curtext.substring(0,startpos);oRight="0";
          oInput.value=oLeft+oRight;
          range.moveStart("character",19); 
          range.collapse(true);//将插入点移动到当前范围的开始或结尾。 
          range.select();
          } //将当前选中区置为当前对象。}
    else if(event.keyCode==46||event.keyCode==39||event.keyCode==40)
          {         
          range.moveStart("character",19); 
          range.collapse(true);
    
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值