您的位置:首页 > Web前端 > JavaScript

自动格式化日期js

2009-08-25 18:25 405 查看
<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: