`isISO8601` 嚴格模式永远不会验证周日期
作者: uhop创建于 2026年8月23日更新于 2026年8月23日
标签🐛 bug
描述错误
使用 strict: true 时,isValidDate 会提取月份和日期,如下所示:
const match = str.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number);对于如 2021-W53-1 的周日期,W 不是数字,因此 (\d{0,2}) 和 (\d*) 都匹配空字符串。Number('') 为 0,因此第 31 行的 if (month && day) 判断为假,函数返回 true,而不进行任何检查。
内容来源: validatorjs/validator.js