zheyiw 发表于 2013-1-29 08:36:42

时间输入校验

<html><head>    <title>时间输入的校验--包子剑客</title>    <!-- 2009.12.12 包子剑客 广州--></head><body>            时间输入的校验<br/>            请输入时间:         <br/>          <input type="text"onkeyup="verify(this)" onkeypress="return inputNumber(event,this);"title="时间格式:00:00"/>          <br/></body></html><script>   //以下是时间的显示相关函数   function isTimeFormat(str) {      var a = str.value.match(/^():()$/);      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>
页: [1]
查看完整版本: 时间输入校验