我需要在注册表单中验证我的出生日期,有效日期不能是将来的日期,并且不能有不存在的日期,例如 6 月 31 日,有没有一种简单的方法可以做到这一点,而无需每月编码?
最佳答案
如果您想手动执行此操作..此代码应该足够了(我很确定该模式支持dd/mm/yyyy
)。
function checkDateTime(newDate) {
var pattern = '^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$';
var regex = new RegEx(pattern);
if (typeof newDate === 'string' && newDate.trim().match(regex)) {
var parsedDate = new Date(newDate);
var today = new Date();
if (parsedDate.getTime() >= today.getTime()) {
//The date is valid...
}
}
}
关于javascript - 验证出生日期注册日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23150211/