首页 > web前端 > js教程 > 如何在 JavaScript 中可靠地验证'mm/dd/yyyy”格式的日期?

如何在 JavaScript 中可靠地验证'mm/dd/yyyy”格式的日期?

Patricia Arquette
发布: 2024-11-01 19:49:02
原创
936 人浏览过

How to Reliably Validate Dates in

在 JavaScript 中验证“mm/dd/yyyy”格式的日期

尝试验证“mm/dd/”格式的日期时yyyy”使用提供的代码,您可能会遇到问题。让我们分析可能的错误并提供更可靠的解决方案。

原始函数检查输入字符串是否与所需的格式匹配,并尝试根据提供的值创建 Date 对象。但是,输入日期和 Date 对象的计算部分之间可能存在差异,从而导致验证不正确。

改进的验证功能

为了解决这个问题,可以使用更强大的验证函数:

<code class="javascript">function isValidDate(dateString) {
  // Validate Format
  if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) return false;

  // Parse Date Components
  const parts = dateString.split("/");
  const day = parseInt(parts[1], 10);
  const month = parseInt(parts[0], 10);
  const year = parseInt(parts[2], 10);

  // Check Range of Month and Year
  if (year < 1000 || year > 3000 || month < 1 || month > 12) return false;

  // Adjust for Leap Years
  const monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  if ((year % 400 === 0) || ((year % 100 !== 0) && (year % 4 === 0))) {
    monthLength[1] = 29;
  }

  // Check Valid Day Range
  return day > 0 && day <= monthLength[month - 1];
}</code>
登录后复制

此函数通过检查格式、解析各个组件、评估月份和年份范围的有效性以及考虑闰年来确定有效日期字符串,从而彻底验证日期字符串天数范围。

以上是如何在 JavaScript 中可靠地验证'mm/dd/yyyy”格式的日期?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板