仅接受 31 以内的数字(不接受 32、62 等)。
目前工作正常,但如果我输入 50/80/1977 无论如何都可以。
我需要验证输入 DD MM YYYY。有什么建议吗?
我不想使用数据选择器。并且该号码必须采用英国格式。日/月/年。
最佳答案
我编写这个函数是为了回答另一个问题,但我认为它应该做你想要的 -
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?
关于Jquery DOB 输入要验证的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8268967/