Javascript: 如何验证 MM-DD-YYYY 格式的日期?
我在这里看到了一个可能的答案,但那是针对 YYYY-MM-DD 的: JavaScript 日期验证
我对上面的代码进行了修改,使其适用于 MM-DD-YYYY,但仍无法正常工作:
String.prototype.isValidDate = function()
{
var IsoDateRe = new RegExp("^([0-9]{2})-([0-9]{2})-([0-9]{4})$");
var matches = IsoDateRe.exec(this);
if (!matches) return false;
var composedDate = new Date(matches[3], (matches[1] - 1), matches[2]);
return ((composedDate.getMonth() == (matches[1] - 1)) &&
(composedDate.getDate() == matches[2]) &&
(composedDate.getFullYear() == matches[3]));
}
我怎样才能让上面的代码在 MM-DD-YYYY 以及 MM/DD/YYYY 上运行?
谢谢。
34
3
我使用这个 regex 来验证 MM-DD-YYYY:
它只匹配有效的月份,您可以使用 / - 或 .作为分隔符。
这里有一个测试版本:
将函数的前两行改成这样,就可以简化一些:
或者,只需将 RegExp 构造函数的参数改为