jQuery日期验证(YYYY-MM-DD)

时间:2013-05-14 13:41:44

标签: jquery validation

我需要使用this script以YYYY-MM-DD的格式验证日期,但我似乎无法让它完美运行。使用我正在使用的正则表达式,它允许用户输入10个没有短划线的数字,而不是在正确的位置输入8个破折号。有没有办法修改我的脚本来解决这个问题?

jQuery.validator.addMethod("date", function(date, element) {
                return this.optional(element) || date.match(/^[-0-9]{10}$/);
            }, "Please specify a valid date");

2 个答案:

答案 0 :(得分:9)

你的正则表达式错误。

你可以改用这个:

^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$

所以它会是:

return this.optional(element) || date.match(/^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$/);

答案 1 :(得分:0)

这将在正确的位置使用破折号验证确切的格式。

/^(\d{4})-(\d\d)-(\d\d)$/

富勒验证确保合理的年/月/日值

/^(19|20)\d\d-(0\d|1[012])-(0\d|1\d|2\d|3[01])$/