我使用的RegEx完全验证了2月份的闰年和日期。但有一种情况我还希望验证匹配m / d / yyyy和mm / dd / yyyy。
所以我想在下面的RegEx中忽略日期和月份的0。我试过给吗?在0之后,它使它成为可选但不起作用。
((0[13578]|1[02])[\/.](0[1-9]|[12][0-9]|3[01])[\/.](18|19|20)[0-9]{2})|((0[469]|11)[\/.](0[1-9]|[12][0-9]|30)[\/.](18|19|20)[0-9]{2})|((02)[\/.](0[1-9]|1[0-9]|2[0-8])[\/.](18|19|20)[0-9]{2})|((02)[\/.]29[\/.](((18|19|20)(04|08|[2468][048]|[13579][26]))|2000))
请提出任何建议。在此先感谢。
答案 0 :(得分:4)
检查闰年的坏方法。使用日期对象本身:
(() => {
const isLeapYear = year => new Date(Date.UTC(year, 1, 29)).getMonth() === 1;
console.log( isLeapYear(2000) );
console.log( isLeapYear(2001) );
})();