`
zheyiw
  • 浏览: 1009223 次
  • 性别: 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>

分享到:
评论

相关推荐

    struts2输入校验

    Struts2是一款流行的Java Web应用框架,它支持MVC架构,并提供了丰富的功能,包括输入校验,这在确保用户输入的有效性和安全性方面扮演着至关重要的角色。本文将深入探讨Struts2中的输入校验机制,包括如何重写...

    时间转换校验类

    在IT行业中,时间转换和校验是至关重要的功能,尤其在处理系统日志、数据库记录、用户交互等场景。本文将详细探讨“时间转换校验类”中的关键知识点,包括时间戳转换、闰年判断以及日期的有效性校验。 首先,时间戳...

    java 怎么去校验时间

    在Java编程中,时间校验是一项常见的任务,用于验证用户输入的时间是否有效或者符合特定的格式和条件。这里我们将深入探讨如何在Java中进行时间校验,并提供多种实用的方法。 首先,Java提供了`java.time`包,这个...

    自己做的时间转换,CRC校验工具

    1. 输入/输出日期和时间格式自定义:用户可以设置输入的时间格式,并选择期望的输出格式,如“YYYY-MM-DD HH:MM:SS”、“MM/DD/YYYY”等。 2. 不同时区转换:支持全球不同时区之间的转换,帮助用户理解跨越地域的...

    计算机网络课程设计计算校验和

    在计算机网络中,校验和的计算过程主要分为三个步骤:数据文件的输入,校验和的计算和校验结果的输出。输入数据可能是以字符形式存储的,而校验和的计算则要采用数据形式,所以在从文件读取数据时,都要进行字符到...

    HHMMss时间校验方法

    在IT行业中,时间校验是常见的任务之一,特别是在系统间数据交换、日志记录或事件触发等场景。本文将深入探讨“HHMMss时间校验方法”,并结合提供的标签“源码”和“工具”,来解析这个主题的核心知识点。 首先,...

    在华为实现的时间控件及时间校验程序

    例如,在一个预约系统中,时间控件允许用户选择具体的预约时间,而时间校验程序则确保这些时间格式正确且日期有效,避免了因无效时间输入导致的错误预约记录。 总之,华为实现的时间控件及时间校验程序提供了一套...

    实用编辑框

    3. 日期时间输入校验:日期和时间的输入需要严格符合特定格式,否则可能导致程序错误或数据不准确。该编辑框在用户输入日期或时间时能自动进行有效性校验,比如检查月份是否在1-12之间,日期是否在当月合理范围内,...

    各种数据输入的校验,数据校验,比较全

    最后,日期的校验通常涉及确保输入的日期符合指定的格式,并且在有效的时间范围内。C#中的DateTime结构提供了多种方法进行日期操作。例如,以下代码验证一个日期字符串是否符合"yyyy-MM-dd"格式: ```csharp public...

    奇偶校验电路实验报告

    这使得奇校验输出OUP和偶校验错误输出OUX在随后的时间点(19.890ns和20.658ns)改变了它们的电位状态,证明了电路能够正确执行奇偶校验。然而,存在一定的延迟,这可能是因为电路中的逻辑门延迟或者仿真中的时序设置...

    求加和校验累加和校验小工具

    累加和校验可以更好地适应数据流的动态变化,例如在长时间的网络传输中,可以定期进行累加和校验,及时发现并纠正错误。 在具体实现中,个人制作的小工具“求加和校验小工具by lixiaodaoaaa”可能包含以下功能: 1...

    基于ASMSEdit的输入数据校验

    ASMSEdit是一个专为MFC(Microsoft Foundation Classes)框架设计的自定义编辑控件,它扩展了标准的CEdit类,提供了更丰富的功能,尤其是对于输入数据的校验。在MFC应用程序开发中,ASMSEdit可以帮助开发者实现更为...

    正则表达式(日期校验)

    此示例扩展了基础日期格式的校验,加入了对时间的校验,即校验格式为 YYYY-MM-DD HH:mm:ss 的日期加时间。 ```javascript function isDateTime(str) { // 正则表达式:YYYY-MM-DD HH:mm:ss var r = str.match(/^...

    校验时间的正则表达式

    在实际开发中,我们可以通过将这段正则表达式写入代码中来校验用户输入的时间字符串是否符合规定的格式和逻辑。例如,在Java中,可以使用Pattern和Matcher类来进行匹配操作: ```java import java.util.regex....

    时间格式校验及比较大小前后

    时间格式的校验主要是为了确保用户输入或系统读取的时间数据符合预设的格式标准,如“YYYY-MM-DD”、“MM/DD/YYYY”等。这有助于避免因数据格式不一致而导致的错误和异常情况。 **1.2 使用正则表达式进行校验** 在...

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

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

    FCS校验计算器.rar

    3. **简化调试**:在开发和调试阶段,FCS校验工具可以帮助工程师快速定位通信问题,节省时间和资源。 4. **安全性**:在工业自动化环境中,数据准确性至关重要,错误的数据可能导致生产线停机或设备损坏,甚至威胁...

    中文校验码ASP版本

    【标题】"中文校验码ASP版本"是一个用于验证中文字符正确性的ASP(Active Server Pages)程序,它可能被广泛应用于网站注册、数据输入验证等场景,确保用户输入的中文字符准确无误。 【描述】提到这个ASP版中文校验...

    CRC modbus校验工具

    3. 校验功能:用户也可以输入已知的CRC校验码,工具会对比计算结果,判断数据在传输过程中是否发生错误。 4. 保存/加载:工具可能提供保存和加载数据的功能,便于多次使用或分享校验结果。 5. 帮助文档:可能包含...

    Modbus-Rtu-指令CRC校验码计算,modbus的crc校验手动计算,C,C++

    5. 校验功能:用户可以输入已知的CRC校验码,工具会验证其是否与提供的数据匹配。 在实际应用中,CRC校验码的计算对于调试Modbus通信问题至关重要。如果接收到的数据的CRC校验不正确,那么数据很可能是错误的或者在...

Global site tag (gtag.js) - Google Analytics