【js】判断输入的四个数字字符串是否表示有效的月份和日期(两位表示月,两位表示日)

news/2024/9/24 11:27:27/

1、接收输入:获取用户输入的四个数字组成的字符串。

2、格式校验:确保输入长度为4,且所有字符都是数字。

3、提取月日:将前两位数字转换为月份,后两位数字转换为日期。

4、月份范围校验:检查月份值是否在1到12之间。

5、日期范围校验:根据所给月份,检查日期值是否在该月的有效范围内(1到31,考虑闰年情况)。

javascript">export function isValidMonthDay(input) {if (typeof input !== 'string' || !/^\d{4}$/.test(input)) {return false}const month = parseInt(input.slice(0, 2), 10)const day = parseInt(input.slice(2, 4), 10)if (month < 1 || month > 12) {return false}const isLeapYear = (new Date().getFullYear() % 4 === 0 && (new Date().getFullYear() % 100 !== 0 || new Date().getFullYear() % 400 === 0))const maxDaysInMonth = [31, (isLeapYear ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]if (day < 1 || day > maxDaysInMonth[month - 1]) {return false}return true
}

http://www.ppmy.cn/news/1431438.html

相关文章

【React Router】快速使用

组件 index.js import React from react; import ReactDOM from react-dom/client; import App from ./App; import {BrowserRouter} from "react-router-dom";// 创建根实例 const root ReactDOM.createRoot(document.getElementById(root)); root.render(// his…

Git 介绍和安装

Git 介绍和安装 | CoderMast编程桅杆Git 介绍和安装 Git介绍 Git是一款免费、开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。 Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus T…

【人工智能基础】机器学习

一、机器学习概念 机器学习是从示例中学习的方法。我们不需要编写分类的规则&#xff0c;而是通过提供大量的相关数据来训练它们 机器学习分类 有监督学习 假设有可用的训练数据&#xff0c;每个样本都有类别标注&#xff0c;分类器是通过利用这些先验已知信息而设计的 无…

STM32F4 Hal库中IO外部中断(EXIT)的应用

目录 概述 1 中断和事件 1.1 外部中断/事件控制器 (EXTI) 1.2 EXTI主要特性 1.3 中断和事件的差别 1.3.1 中断产生流程 1.3.2 事件产生流程 1.3.3 STM32F4的事件 2 STM32Cube配置工程 2.1 外部中断/事件介绍 2.2 配置参数 2.3 生成Project 3 STM32F4 Hal库中外部中…

Android开发:发送验证码验证手机号——榛子云短信服务

榛子云短信官网 点击注册后进行登录 页面如下图所示很是简洁&#xff0c;也省去了很多复杂的流程 需要进行充值 价格相对公道&#xff0c;个人开发测试完全够用 我的应用中有后续开发要用到的AppId和AppSecret 短信模板中可以根据个人需要进行编辑但是要进行审核 后续开发中需…

【深度学习】【机器学习】用神经网络进行入侵检测,NSL-KDD数据集,基于机器学习(深度学习)判断网络入侵,网络攻击,流量异常【3】

之前用NSL-KDD数据集做入侵检测的项目是&#xff1a; 【1】https://qq742971636.blog.csdn.net/article/details/137082925 【2】https://qq742971636.blog.csdn.net/article/details/137170933 有人问我是不是可以改代码&#xff0c;我说可以。 训练 我将NSL_KDD_Final_1.i…

【设计模式】享元模式

目录 什么是享元模式 代码实现 什么是享元模式 Java中的享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;它用于减少系统中对象的数量&#xff0c;以节省内存和提高性能。享元模式通过共享相似对象之间的公共部分来最小化内存使用。 在享…

Python:腾讯云-轻量应用服务器-实现自动快照

Python&#xff1a;腾讯云-轻量应用服务器-实现自动快照 – WhiteNights Site 先说一下配置情况&#xff1a;轻量应用服务器一块系统盘。我没钱加盘&#xff0c;所以不知道多块盘的情况下这个脚本还能不能用。 官方文档给的代码已经很齐全了&#xff0c;只需要做点补充就能直…