时间输入的校验

<html>
<head>
<title>时间输入的校验--包子剑客</title>
<!-- 2009.12.12 包子剑客 广州-->
</head>
<body>
时间输入的校验<br/>
请输入时间: <br/>
<input type="text" onblur="isTimeFormat(this)" onkeyup="verify(this)" onkeypress="return inputNumber(event,this);" title="时间格式:00:00"/>
<br/>
</body>
</html>

<script>
//以下是时间的显示相关函数
function isTimeFormat(str) {
var a = str.value.match(/^([0-2][0-9]):([w0-5][0-9])$/);
if (a == null) {
alert("时间格式不对,已经被自动修正,请留意。");
var length=str.value.length;
if (length==1) {str.value="0" + str.value +":00";}
else if (length==2) {str.value+=":00";}
else if (length==3) {str.value+="00";}
else if (length==4) {str.value+="0";}
else {str.value="00:00";}
str.select();
return false;
}
return true;
}
//格式化时间格式
function verify(text){
var hour;
var minute;
var tmp;
var index;
var textValue = text.value;
if(textValue.length == 1 ) {
if (textValue == ":"){text.value = "00:"; }
return true;
}
if(textValue.length == 2 ) {
if (!isNum(textValue)) text.value = "0" + textValue;
return true;
}
if(textValue.length > 2){ //当长度超过2时,进行处理
hour = textValue.substr(0,2); //取前两位数字,即小时
if(!isNum(hour)){//不是数字
text.value = '00';
return;
}
if(hour < 24){ //10<x<24
text.value = hour + ':';//显示小时
index = textValue.indexOf(':'); //定位冒号
minute = index > 0 ? textValue.substr(index + 1,2) : textValue.substr(2,2);
if(!isNum(minute)){//不是数字
text.value = hour + ':00';
return;
}
if(minute < 59){
tmp = hour + ':' + minute;
}else{
tmp = hour + ':59';
}
}else{ //x>=24
hour = '0' + textValue.substr(0,1);
text.value = hour + ':' + text.value.substr(1,1);
index = textValue.indexOf(':');
minute = index > 0 ? textValue.substr(index + 1,2) : textValue.substr(1,2);
if(!isNum(minute)){//不是数字
text.value = hour + ':00';
return;
}
if(minute < 59){
tmp = hour + ':' + minute;
}else{
tmp = hour + ':59';
}
}
text.value = tmp;//输入“小时:分钟”格式
}
}
//只让输入数字和:
function inputNumber(e,textValue){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
if(58==e.keyCode) {return true;}
keynum = e.keyCode
}else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum);
return isNum(keychar);
}
//是否为数字
function isNum(str){
if(""==str){
return true;
}
var reg = /\D/;
return str.match(reg)==null;
}
//以上是时间的显示相关函数
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值