两位数的月份日期验证
Double digit month date validation
我有3个文本框,如下
<input type="text" name="birth_year" id="birth_year" maxLength="4" size="4">Year
<input type="text" name="birth_month" id="birth_month" maxLength="2" size="2">Month
<input type="text" name="birth_day" id="birth_day" maxLength="2" size="2">Day
[2012] Year [09] Month [13] Day
如何使用JQ验证该日期?
我已经找了两天了。
不过,我找不到任何像XXXX-XX-XX这样的格式。
我找到了这个jsFiddle,但这个不能像03或22 那样验证两位数的月份或日期
任何帮助都将不胜感激
这其实很简单:
var year = document.getElementsByName("birth_year")[0].value,
month = document.getElementsByName("birth_month")[0].value,
day = document.getElementsByName("birth_day")[0].value,
date = new Date(year + "-" + month + "-" + day);
if (isNaN(date.getTime())) {
// The date is invalid
}
不幸的是,这在IE8这样的旧浏览器中不起作用,因为它们不接受yyyy-mm-dd日期格式。但你可以这样重写日期:
var date = new Date(month + "/" + day + "/" + year);
(我认为mm/dd/yyyy格式没有意义,但好吧…这就是Javascript自第一次定义以来的工作方式。)
更好的验证(请参阅工作示例)。如果你要问生日,为什么不检查一下它们是否合理呢?。第一部分检查无效日期(超出范围,包括超出当月特定范围的日期);第二部分列出了尚未出生的人,或者年龄太大而不可信的人。
/**
* input is year/month/day (month from 1 to 12, day from 1 to 31)
* output is boolean: true if correct and in-range, false if not
*/
function isValidBirthdate(year, month, day, minAge, maxAge) {
// javascript days expect zero-based days and months
month --; day --;
var saysWasBorn = new Date(year, month, day);
if (saysWasBorn.getDate() != day
|| saysWasBorn.getMonth() != month
|| saysWasBorn.getFullYear() != year) {
console.log("impossible date: ");
return false;
}
var now = new Date();
var yearsOld = now.getFullYear() - saysWasBorn.getFullYear();
if ((now.getMonth()*40 + now.getDate() - 1) <
(saysWasBorn.getMonth()*40 + saysWasBorn.getDate())) {
yearsOld --;
}
if (yearsOld > maxAge) {
console.log("too old");
return false;
} else if (yearsOld < minAge) {
console.log("too young");
return false;
}
return true;
}
相关文章:
- 两位数的月份日期验证
- MVC3使用globalize库脚本进行日期验证
- AngularJs日期验证;我不适用于IE和Mozilla
- 日期验证参数
- Javascript - 需要日期验证 IF 语句
- angularjs提交表单中的开始日期结束日期验证应被禁用
- JavaScript日期验证RegEx或JS
- HTML5日期验证
- 使用弹出窗口进行动态日期验证
- 基于客户端日期格式的Javascript日期验证
- 使用MaskedEditExtender进行日期验证
- 如何在日期选择器中给出出生日期验证
- 日期验证失败,因为我猜是日期格式
- 文本框日期验证 mm/dd/yyyy classic asp , JavaScript.
- 从当前日期到 3 年之前的 Javascript 日期验证
- asp 文本框控件上的必填字段验证和当前日期验证
- 在 javascript 中对月份进行日期验证
- 使用 JavaScript 进行日期验证
- 日期验证日期选取器
- J查询无效日期的日期验证