纯javascript判断查询日期是否为有效日期

yizhihongxing

针对“纯javascript判断查询日期是否为有效日期”的问题,我给出如下攻略:

1.判断规则

要判断日期是否有效,需要先确定日期的格式。在常见的日期格式中,比较常用的是以下三种:

  • 年月日格式:如2022-07-01;
  • 月日年格式:如07/01/2022;
  • 日月年格式:如01.07.2022。

无论哪种日期格式,都需要满足一些规则才能算是有效的日期。下面列出规则:

  • 日期中必须包含年、月、日三个部分;
  • 年份必须在1年至9999年之间;
  • 月份必须在1月至12月之间;
  • 日数必须在该月的天数范围之内。

2.判断逻辑

了解了判断规则后,就可以通过以下逻辑进行判断:

  • 将输入的日期字符串按照指定格式转化为日期对象;
  • 判断是否成功转化为日期对象:如果转化成功,则进行下一步判断,否则返回不合法;
  • 判断年份是否满足规则:如果不满足,则返回不合法;
  • 判断月份是否满足规则:如果不满足,则返回不合法;
  • 判断日数是否满足规则:如果不满足,则返回不合法;
  • 如果全部满足规则,则返回合法。

3.代码实现

接下来,我给出两个示例,展示如何将上述逻辑通过javascript代码实现:

示例1:

下面的代码,展示了将年月日格式的日期字符串转化为日期对象,并判断是否为有效日期:

function isValidDate(dateString){
    var regEx = /^\d{4}-\d{2}-\d{2}$/;
    if(!dateString.match(regEx)) return false;  // Invalid format
    var d = new Date(dateString);
    if(!d.getTime()) return false; // Invalid date (or this could be epoch)
    return (d.toISOString().slice(0,10) === dateString);
}

示例2:

下面的代码,展示了将日月年格式的日期字符串转化为日期对象,并判断是否为有效日期:

function isValidDate(dateString){
    var regEx = /^\d{1,2}.\d{1,2}.\d{4}$/;
    if(!dateString.match(regEx)) return false;  // Invalid format
    var d = new Date(dateString.replace(/(\d{2}).(\d{2}).(\d{4})/, "$2/$1/$3"));
    if(!d.getTime()) return false; // Invalid date (or this could be epoch)
    return (d.toISOString().slice(0,10) === dateString.replace(/(\d{2}).(\d{2}).(\d{4})/, "$3-$2-$1"));
}

以上就是详细讲解“纯javascript判断查询日期是否为有效日期”的完整攻略,希望能给您带来帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯javascript判断查询日期是否为有效日期 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js实现3D照片墙效果

    下面是关于“js实现3D照片墙效果”的完整攻略: 1. 前置知识 在进行3D照片墙效果的实现之前,需要对以下几个前置知识有所了解: HTML、CSS的基本语法和常见布局方法; JavaScript的基础,如DOM操作、事件监听等; 熟悉canvas的基本用法; 熟悉矩阵转换相关的数学知识。 2. 效果描述 3D照片墙效果即为将用户上传或从网络上获取的多张图片…

    JavaScript 2023年6月11日
    00
  • JS函数验证总结(方便js客户端输入验证)

    JS函数验证是用JavaScript编写的表单客户端输入验证,目的是方便用户输入验证,减少对服务器沟通请求,缩短请求响应时间和提高用户体验。下面是JS函数验证的完整攻略: 1.概述 JS函数验证是对用户的输入数据预先验证,验证的方式可以使用JS正则表达式、API等方式,可以在用户提交表单到服务器之前,即在本地网页浏览器中对数据进行验证。这样可以减少不必要的请…

    JavaScript 2023年6月11日
    00
  • JS 文件传参及处理技巧分析

    JS文件传参及处理技巧分析 在JavaScript中,文件传参是一个非常常见的操作,尤其是在web开发中。在本文中,我们将介绍文件传参的一些技巧和处理方法。 传统方式:URL参数传递 在web开发中,最常见的文件传参方式是通过URL参数传递。这种方式将参数作为URL的一部分,通常被称为GET方式。以下是一个典型的URL参数的例子: http://exampl…

    JavaScript 2023年5月27日
    00
  • CascadeView级联组件实现思路详解(分离思想和单链表)

    CascadeView级联组件实现思路详解 1. 概述 CascadeView是一种级联组件,它可以用于实现多级选择框、菜单等交互功能。在CascadeView中,每个级别的数据源都依赖于上一个级别的选择,因此级别之间存在一定的关联关系。 本文将介绍CascadeView的实现思路,其中包括分离思想和单链表。我们将使用这两种方法来构建级联组件,并给出相应的示…

    JavaScript 2023年6月11日
    00
  • 深入剖析JavaScript面向对象编程

    深入剖析JavaScript面向对象编程 1. 面向对象编程的基本概念 1.1 什么是面向对象编程 面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式或编程风格,通过对象的方式将数据和行为组织在一起,以此来描述和处理现实世界中的事物。 1.2 面向对象编程的主要特征 封装 继承 多态 1.3 面向对象编程的优点 …

    JavaScript 2023年5月27日
    00
  • js中常见切割截取字符串的几种方法小结

    JS中常见切割截取字符串的几种方法小结 字符串是Web开发中不可或缺的一部分,而JavaScript(简称JS)中提供了许多操作字符串的方法。其中,切割和截取字符串在实际开发中非常常见。本文就来介绍一下JS中常见的切割和截取字符串的几种方法。 slice() slice(start, end) 方法可以从一个字符串中提取一个子字符串,并返回新的字符串。该方法…

    JavaScript 2023年5月28日
    00
  • jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    想要实现记住密码功能需要首先使用jquery.cookie.js库来操作cookie,这个库可以在GitHub上下载到。 引入jquery.cookie.js 首先在head标签中引入jquery和jquery.cookie.js库。 <script src="https://cdn.staticfile.org/jquery/1.12.0/…

    JavaScript 2023年6月11日
    00
  • JavaScript File API实现文件上传预览

    下面是“JavaScript File API实现文件上传预览”的完整攻略。 1. 前置知识 在学习“JavaScript File API实现文件上传预览”之前,需要了解以下基础知识: JavaScript的DOM操作; HTML的文件上传控件<input type=”file”>; JavaScript基础知识,如变量、函数、语法等。 2. …

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部