文本框控制输入时间格式

一个项目里面用到非控件的时间格式,例如:22:34 ,在网上找了很长时间也没找到合适的,后来终于找到一个,所以粘贴过来,以备以后使用:

 

-----------------------------------------

修改后:

<input   type=text id="test"   name=test   value=""
        οnpaste="return regInput(this,/^[0-9]*$/,window.clipboardData.getData('Text'));"
        οnkeypress="return inputNumber(event);" οnchange="return isTime(this);" οnkeyup='verify(this);'>  
<script type="text/javascript" language="javascript">
      <!--  
    //验证粘贴的内容
    function regInput(obj, reg, inputStr)
    {
        var docSel = document.selection.createRange()
        if (docSel.parentElement().tagName != "INPUT") return false
        oSel = docSel.duplicate()
        oSel.text = ""
        var srcRange = obj.createTextRange()
        oSel.setEndPoint("StartToStart", srcRange)
        var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
        return reg.test(str)
    }
    //格式化时间格式
    function verify(text){
        var hour;
        var minute;
        var tmp;
        var index;
        var textValue = text.value;
        if(textValue.length > 1){ //当长度超过1时,进行处理
            hour = textValue.substr(0,2); //取前两位数字,即小时
            if(isNaN(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(isNaN(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(isNaN(minute)){//不是数字
                    text.value = hour + ':00';
                    return;
                }
               if(minute < 59){
                 tmp = hour + ':' + minute;
               }else{
                 tmp = hour + ':59';
               }
            }
        text.value = tmp;//输入“小时:分钟”格式
        }
    }
    //控制键盘的按键,只能输入数字
    function inputNumber(e){
        var keynum;
        var keychar;
        var numcheck;
        if(window.event) // IE
        {
            keynum = e.keyCode
        }else if(e.which) // Netscape/Firefox/Opera
        {
            keynum = e.which
        }
        keychar = String.fromCharCode(keynum);
        return !isNaN(keychar);
    }
    //验证是否为时间格式
    function isTime(obj){
        if(obj.value.match(/^([0-2][0-3]):([0-5][0-9])$/)){
            obj.value="";
        }
    }
      //-->  
</SCRIPT>

原先:

<input id='hour' type=text οnkeypress='if ((event.keyCode < 48 || event.keyCode > 57) &&

event.keyCode != 46) event.returnValue = false;' onpaste = "return regInput(this,/^[0-9]

*$/,window.clipboardData.getData('Text'))" οndrοp= "return regInput(this,/^[0-9]

*$/,event.dataTransfer.getData('Text'))" style="ime-mode:Disabled" οnkeyup='verify(this);'>
<script language=javascript>
var hour=document.getElementById("hours");
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName != "INPUT") return false
oSel = docSel.duplicate()
oSel.text = ""
var srcRange = obj.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
return reg.test(str)
}
function verify(text){
var hour;
var minute;
var tmp;
var index;
var textValue=text.value;
if(textValue.length>3){  
    hour=textValue.substr(0,2);
    if(hour<24){
   index=textValue.indexOf(':');
   minute=index>0?textValue.substr(index+1,2):textValue.substr(2,2);
   if(minute<59){
    tmp=hour+':'+minute;
   }else{
    tmp=hour+':59';
   }
    }else{  
   hour='0'+textValue.substr(0,1);
   index=textValue.indexOf(':');
   minute=index>0?textValue.substr(index+1,2):textValue.substr(1,2);
   if(minute<59){
     tmp=hour+':'+minute;
   }else{
     tmp=hour+':59';
   }
    }
text.value=tmp;
}
}
</script>

 

 

哪位如果有控制输入日期,输入日期时间格式的,请转告一些,谢谢

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值