您的位置:首页 > 其它

文本框控制输入时分秒的时间格式

2013-03-14 11:11 260 查看
时间格式:   23:59    00:00

文本框
<input   type=text id="test"   name=test   value="" 
        onpaste="return regInput(this,/^[0-9]*$/,window.clipboardData.getData('Text'));"
        onkeypress="return inputNumber(event);" onchange="return isTime(this);" onkeyup='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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: