在 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中文网其他相关文章!