只接受最多31个数字(没有32,没有62等)。
目前效果很好,但如果我打字50/80/1977仍然有效。
我需要验证输入DD MM YYYY。有什么建议吗?
我不想使用datapicker。这个数字必须是英国格式。 DD / MM / YYYY。
答案 0 :(得分:0)
我写这个函数作为另一个问题的答案,但我认为它应该做你想要的 -
function isValidDate(strDate) {
if (strDate.length != 10) return false;
var dateParts = strDate.split("/");
var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
if (date.getDate() == dateParts[0] && date.getMonth() == (dateParts[1] - 1) && date.getFullYear() == dateParts[2]) {
return true;
}
else return false;
}
演示 - http://jsfiddle.net/2r6eX/2/
要使用代码,您可以执行类似 -
的操作if (!isValidDate(enteredDOB)) {
$("#invalidDOB").fadeIn("slow");
return false;
}
与您的代码集成的代码演示 - http://jsfiddle.net/ScEuV/1/
原始问题中提供了进一步的解决方案 - How to check if a string is a legal "dd/mm/yyyy" date?