`
xuechenyoyo
  • 浏览: 56952 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

日期,日期时间类型数据格式校验

阅读更多
<script>

function testDatatime(){

alert(!"2010-01-29 12:44:12.1022".isDateTime());
     alert("2010-01-29 12:44:12.122".isDateTime());
     alert(!"2010-01-29 24:44:12".isDateTime());
     alert("2010-3-31 12:44:12".isDateTime());
     alert(!"1900-2-29 12:44:12".isDateTime());
     alert(!"1900-4-31 12:44:12".isDateTime());
     alert("1904-2-29 12:44:12".isDateTime());
}
function testData(){

     alert("2010-01-29".isDate());
     alert(!"2010-01-32".isDate());
     alert("2010-3-31".isDate());
     alert(!"1900-2-29".isDate());
     alert(!"1900-4-31".isDate());
     alert("1904-2-29".isDate());
}

String.prototype.isDateTime = function() {
    var   r   =   this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]{1,3})?$/); 
    if(r==null)return   false;  
    var   d   =   new   Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
   return   (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
   } ;
  
   String.prototype.isDate = function(){
   var   r   =   this.match(/^(\d[0-9]{1,4})(-|\/)(\d[0-9]{1,2})\2(\d[0-9]{1,2})/); 
    if(r==null) return   false;  
   
     var   d   =   new   Date(r[1], r[3]-1,r[4]); 
   return   (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);

   };
    String.prototype.isTime = function(){
     var   r   =   this.match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]{1,3})?$/);
     if(r==null) return   false;
    
     return true;
    }

  

    function checkDate(){
    var df=document.getElementById('dateField');
    var info=df.value;
   
    if(info.length!=10){
      alert('The date format error! it must be yyyy-mm-dd!\n Example: 2010-02-05, 2010-12-05. ');
      return false;
    }
   
    var rs=info.isDate();
    if(!rs) {
      alert('The date format error ! '+info);
      return false;
    }else alert('right date format! '+info);
   
    }
    function checkDateTime(){
    var df=document.getElementById('datetimeField');
    var info=df.value;
   
    var index=info.indexOf('.');
    if(index<0&&info.length!=19||index>0&&index<19){
      alert('The date format error! it must be yyyy-MM-dd HH:mm:ss.S!\n Example: 2010-02-05 06:05:09, 2010-12-05 12:35:08, 2010-12-05 12:35:08.123 ');
      return false;
    }

    var rs=info.isDateTime();
    if(!rs) {
      alert('The datetime format error ! '+info);
      return false;
    }else alert('right datetime format! '+info);
  
    }
    function checkTime(){
    var df=document.getElementById('timeField');
    var info=df.value;
   
    var index=info.indexOf('.');
    if(index<0&&info.length!=8||index>0&&index<8){
      alert('The date format error! it must be HH:mm:ss.S!\n Example:06:05:09, 12:35:08, 12:35:08.123 ');
      return false;
    }

    var rs=info.isTime();
    if(!rs) {
      alert('The time format error ! '+info);
      return false;
    }else alert('right time format! '+info);
  
    }


</script>

<p>Date format: <input type="text" size="15" value="2010-02-19" id="dateField" ><button type=button onclick="checkDate()">Check</button>
<p>DateTime format: <input type="text" size="30"  id="datetimeField" ><button type=button onclick="checkDateTime()">Check</button>
<p>Time format: <input type="text" size="30"  id="timeField" ><button type=button onclick="checkTime()">Check</button>
分享到:
评论

相关推荐

    IC卡数据分析修改、对比、日期转换、28种校验计算工具

    本文将深入探讨“IC卡数据分析修改、对比、日期转换、28种校验计算工具”这一强大工具,旨在帮助用户更好地理解和运用IC卡数据处理。 首先,我们来理解一下IC卡数据分析。IC卡中的数据通常以二进制形式存储,这些...

    正则表达式(日期校验)

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

    struts2 类型转换 数据校验

    在Struts2中,类型转换和数据校验是两个关键的特性,它们确保了用户输入的数据能够准确无误地被处理和验证,从而提高了应用的安全性和可靠性。 **类型转换(Type Conversion)** 在Struts2中,类型转换是自动进行...

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

    在PB中,日期和时间处理是常见且重要的功能,涉及多种函数来帮助开发者进行日期转换、格式化以及获取当前时间等操作。本文将深入解析PB中的日期和时间函数,包括日期转换、打印函数等,为PB开发者提供全面的参考指南...

    SpringMVC-8 数据类型转换、数据格式化与数据校验

    在Spring MVC框架中,数据类型转换、数据格式化和数据校验是开发Web应用程序时不可或缺的部分。这些功能有助于确保从客户端接收到的数据准确无误,同时提供了一种优雅的方式来处理和展示这些数据。本篇文章将深入...

    简单判断梯控品牌时间和时间校验算法,.zip

    在"简单判断梯控品牌时间和时间校验算法"这个主题中,我们可以深入探讨电梯控制系统的两个核心概念:品牌识别与时间校验算法。 首先,电梯梯控品牌的判断通常是基于电梯内部的硬件标识或软件特性。不同的电梯品牌...

    日期校验相关代码

    这样的校验机制对于确保用户输入的有效性至关重要,防止因为错误的日期格式导致程序错误或数据不准确。在实际开发中,你可以根据项目需求调整这些函数,例如增加时区支持或者支持其他日期格式。

    Python+PySide6开发Excel数据校验工具源代码.zip

    因此在数据分析之前,进行数据正确性校验是十分必要的,基于此,本文实现了一款批量数据校验工具,可以完成:身份证校验、座机电话校验、手机号码校验、日期时间校验、邮箱校验、IP地址校验、邮编格式校验、MAC地址...

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

    本文将详细探讨数据校验这一关键环节,特别是在C#语言中的应用,包括对电子邮件、电话号码、数字和日期等常见数据类型的校验方法。 首先,让我们从电子邮件地址的校验开始。在C#中,可以使用正则表达式(Regex)类...

    数据校验工具

    2. 类型校验:确保数据的类型正确,如日期应为日期格式,数字应为数值格式。 3. 唯一性校验:验证数据是否在系统中重复,如用户ID或电子邮件地址。 4. 正则表达式校验:使用正则表达式规则检查数据格式,如验证邮政...

    时间转换校验类

    再者,日期校验涉及到确保输入的日期符合实际的日期格式和规则。这包括检查月份是否在1到12之间,日期是否在该月的合法范围内,以及世纪和年份是否有效。例如,2月份不能有31天,4、6、9、11月不能有31天。此外,还...

    js实现时间日期校验

    总结来说,JavaScript提供了多种方式来校验时间日期,包括但不限于使用原生JavaScript Date对象进行比较,以及利用第三方库如jQuery和laydate提供的扩展功能。理解并熟练运用这些方法,可以帮助开发者构建更加健壮、...

    批量导入Excel数据到数据库,带数据校验/事务回滚

    数据校验可能包括检查字段类型、长度、格式、是否存在重复值等。例如,如果一个字段要求是日期,那么应验证每个条目的合法性;如果字段有唯一性约束,那么需要确保新数据中没有重复项。 3. **事务管理**:在导入过程...

    Java读取Excel表格中的日期

    对于日期格式的数据,它们通常会被标记为`DATE`类型。 ```java if (cell.getCellType() == CellType.DATE) { // 处理日期类型的单元格 } ``` ##### 3. 日期格式的转换 一旦确认单元格包含日期格式的数据,接下来...

    数据校验官方文档

    这份文档是关于在Java环境中实现数据校验的一系列标准和API的说明。下面将详细解释文档中提到的各个知识点。 首先,文档介绍部分列出了专家小组成员、规范目标、所需的Java版本、文档组织结构以及如何评论文档。接...

    日期时间转换成ASC码或者BCD码

    ASC码(ASCII码)和BCD码(二进制编码的十进制数)是两种常见的编码方式,用于将日期和时间转换为数字格式,便于计算机处理。下面将详细介绍这两种编码方式以及它们在日期时间转换中的应用。 首先,ASCII码...

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

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

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

    这个工具很可能提供了这样的功能,允许用户在各种时间格式之间自由切换,满足了处理日期和时间数据的需求。 接下来,我们谈谈CRC(Cyclic Redundancy Check,循环冗余校验)。CRC是一种广泛应用于数据通信和存储中...

Global site tag (gtag.js) - Google Analytics