<
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);" />
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);" />