如何在 JavaScript 中进行日期验证
How to do date validation in JavaScript?
我正在使用JavaScript编写生日验证表单,但它无法正常工作。例如,40/40/2012 无效,但它不会发出任何警报。
JavaScript
function onFormSubmit(form_element) {
var birthday = form_element.birthday.value;
if ( !/'d{2}'/'d{2}'/'d{4}/.test(form_element.birthday.value) )
{
alert("This field is required. Please enter date mm/dd/yyyy!");
return false;
}
return true;
}
.HTML
<form onsubmit="return onFormSubmit(this)">
Birthday:<input type="text" name="birthday" /><br />
<input type="submit" value="submit" />
</form>
我喜欢做的是:
var birthday = form_element.birthday.value;
var match = /^('d'd)'/('d'd)'/('d'd'd'd)$/.exec(birthday);
if (!match || match.length < 4) return false;
var d = new Date(match[3] - 0, (match[2] - 0) - 1, match[1] - 0);
if (d.getFullYear() != match[3] || d.getMonth() + 1 != match[2] || d.getDate() != match[1])
return false;
return true;
如果从有效的年/月/日创建日期,然后在 Date 对象上检查这些值,则应返回相同的值。如果不这样做,则意味着 Date 对象调整了虚假值以表示有效日期,这意味着虚假值是虚假的。
编辑 — 对不起,我的代码是为日/月/年编写的;如果你想要月/日/年,交换match[2]
并在上面match[1]
。
相关文章:
- 两位数的月份日期验证
- 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查询无效日期的日期验证