`isISO8601` 将签名序号日期错误路由

作者: uhop创建于 2026年8月23日更新于 2026年8月23日
标签🐛 bug

描述错误

isValidDate 中的序号日期分支与下面的匹配:

javascript
const ordinalMatch = str.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);

该模式没有符号前缀,尽管主 isISO8601 正则表达式接受年份前面的 +-。因此,带符号的序号日期无法匹配,并会进入日历分支,其中通用的 (\d{4})-?(\d{0,2})-?(\d*) 分割将三位年份中的日数分割为两位月份和一位日数。

内容来源: validatorjs/validator.js