`
zheyiw
  • 浏览: 999864 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

时间输入的校验

阅读更多
<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>

分享到:
评论

相关推荐

    基于ASMSEdit的输入数据校验

    基于ASMSEdit的输入数据校验,可以限制编辑框仅仅输入数字(数字可以限定正数和小数的位数),或者输入时间、日期、字符,掩模等等

    16进制指令求和校验码计算器

    功能:-----------&gt;Ox16进制指令集校验码计算器【1】本程序适用于16进制指令校验码计算 【2】例如需要校验的指令为EE0101010000,中间可以有空格,EE 01 01 01 00 00 两两1组,最大支持31组 【3】支持粘贴输入多条...

    热电偶校验仪_热电偶校验方法

    9、内置大容量充电电池,工作时间长 10、大屏幕液晶带背光显示,中文菜单操作 热电偶校验方法 热电偶在使用前必须要进行校验,因为热电偶在使用过程中,其热端受氧化、腐蚀,材料在高温下会产生再结晶,这些...

    CRC16校验码生成工具

    一款CRC16的校验码生成工具,可以自己设置校验码生成多项式...字符串需要输入ASCii码形式,例如:AE 13 4F 78 0C 90 A0 B1,每两个中间要加空格,当校验多项式为8005时的校验码为D9 9F。文件校验的时间与文件大小有关。

    常用js大全,javascript校验大全

    1.36 检验输入的时间段,日期格式yyyy-MM-dd 39 1.37 检验输入的时间段,日期格式yyyy-MM-dd 41 1.39 检查EMail格式是否正确.. 47 1.40 电话号码校验(只能为下划线—、()、或数字) 49 1.41 所输内容应为字母 50 1.41...

    各类时间校验和检查的js

    1.检查输入参数是否全为数字 CheckNumber 2.检查输入参数是否为整数 CheckInteger 3.检查输入参数是否为浮点数 CheckFloat 4.检查输入参数是否为合法的日期 CheckDate CheckDate2 5.检查输入参数是否为合法的...

    js数据校验控件

    //网页输入校验工具 //version:2.0 //作者:潘攀(1871870808@qq.com) //时间:2012-10-10 //需要依赖:jquery-1.7.2.js //支持校验类型:不为空、数字、非数字、邮箱、最大长度、最小长 度、起始字符、终止字符、...

    js日期输入控件,键盘实现快速输入(绝对原创)

    通常我们从网上找到的,都是通过鼠标选择的...本例是一个可以动态配置日期/时间输入项的键盘时间输入控件。支持:1、输入值校验2、只允许输入数字3、屏蔽输入法4、不允许拖拽文字到输入框中5、不允许拷贝文字到输入框中

    PR231校验仪

    pr231系列校验仪具有强大的记录管理功能,最多可以建立32个设备号,每个设备号具有16个记录页,每个记录页中包含时间、测量值、输出值及自定义值四个基本信息。用户可以根据需求进行设备管理、记录删除等操作。

    js 动态校验开始结束时间的实现代码

    很多时候要动态校验开始结束时间,每次都要写一次,太麻烦,以备后面拷贝使用, 代码作用简介: 开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差30天 html: &lt;input type="date" ...

    WPF之ValidationRule数据校验

    界面开发需要数据输入,输入数据就少不了数据校验。不同数据不同校验规则,本案例提供不同数据通过指定数据类型参数使用对应校验规则反馈结果。结果通过定义样式模板展示不同警醒效果!

    javascript日期验证之输入日期大于等于当前日期

    本文实例分析了javascript输入日期大于等于当前日期验证代码,分享给大家供大家参考,具体如下: [removed] $(function () { var d = new Date(); var strDate = getDateStr(d); $("#beginTime").val(strDate)...

    JS常用校验

    * isIp(strIp) //IP地址校验,输入正确的IP地址返回ture,否则返回false * isTelphoneNum(telNum) //电话号码校验,正确的电话号码(如0571-1234567[8] 010-1234567[8] )则返回ture,否则返回false * ...

    奇安信代码卫士,文件上传漏洞解决demo

    (4)对文件名进行输入校验,显示时进行输出编码。 3. 文件存储: (1)上传文件应保存在指定路径下。 (2)对上传文件进行随机数重命名,避免文件被覆盖。 (3)设置上传文件路径, 使用户不能轻易访问自己上传的...

    可手输入的日期控件

    可以手工输入的日期控件,支持年月,年月日的输入,对以全键盘操作来说非常使用,自带校验功能,防止非法输入。拖拽到窗体上即可使用,不需要增加额外的代码。

    计算机组成原理作业八:输入输出设备与输入输出系统.docx

    作业八:输入输出设备与输入输出系统 简答题 (从下面挑选5道题答题) 什么是系统总线?为什么要用总线传送信息?...信号线50根,8条数据线和一位校验线,可以单端方式工作,其连线长度小于6米。也可作差分方式连接

    第29章 DateTimeBox(日期时间输入框)组件1

    第 29 章 DateTimeBox(日期时间输入框)组件学习要点:1.加载方式2.属性列表3.方法列表主讲教师:李炎恢本课程由北风网和瓢城 Web 俱乐部提供

    固定命令发送的串口软件(字符和16进制数字混合发送,串口255个,波特率可以随意设置,最大10Mbps以上,自动插入首尾字节和校验,发送命令间隔时间随意设定,自动连续和循环发送,自动分行显示接收的命令,二进制或文本显示,最大4G接收内容)

    例如 1的16-1的校验值是 0x1021 ,然后在命令中输入\1 10 21\ ,得到的发送结果是 01 10 21 00 00,最后两个字节就是校验值0,说明校验通过。 程序的校验选择有很多中,下面程序中0x8000就是16位的CRC校验,如果...

    PB 常用函数说明 PB日期转换 PB格式转换

    PB日期转换 PB格式转换 日期、时间函数 打印函数

    js脚本大全 js验证大全 压缩包

    1.36 检验输入的时间段,日期格式yyyy-MM-dd 39 1.37 检验输入的时间段,日期格式yyyy-MM-dd 41 1.39 检查EMail格式是否正确.. 47 1.40 电话号码校验(只能为下划线—、()、或数字) 49 1.41 所输内容应为字母 50 1.41...

Global site tag (gtag.js) - Google Analytics