【发布时间】:2011-11-25 12:13:06
【问题描述】:
只接受不超过 31 的数字(没有 32、没有 62 等)。
目前运行良好,但如果我输入 50/80/1977 仍然可以。
我需要验证输入 DD MM YYYY。有什么建议吗?
我不想使用数据选择器。并且号码必须是英国格式。 DD/MM/YYYY。
【问题讨论】:
标签: jquery forms jquery-validate validation
只接受不超过 31 的数字(没有 32、没有 62 等)。
目前运行良好,但如果我输入 50/80/1977 仍然可以。
我需要验证输入 DD MM YYYY。有什么建议吗?
我不想使用数据选择器。并且号码必须是英国格式。 DD/MM/YYYY。
【问题讨论】:
标签: jquery forms jquery-validate validation
我写这个函数是为了回答另一个问题,但我认为它应该做你想做的-
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?
【讨论】: