-2

为什么 jQuery Validator 接受这个作为有效日期?

01/123/1

如果您输入该日期,它将通过验证。如何确保用户输入的日期有效?我不想使用日期选择器。

链接到验证器: http: //docs.jquery.com/Plugins/Validation/Methods/date

4

1 回答 1

0

由于内置日期功能在 Firefox 中不起作用,这里有一个适用于所有浏览器的扩展方法。这还会检查以确保日期有效,99/99/9999 将不起作用。

    $.validator.addMethod(
        "mmddyyyy",
        function(value, element) {
            var match = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/.exec(value),
            isDate = function (m, d, y) {
                return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y, m, 0)).getDate();
            };
            return match && isDate(match[1], match[2], match[3]);
        },
        "Please enter a date in the format mm/dd/yyyy."
    );



    $('#Form1').validate({
        rules: {
            birthDate: { required: true, mmddyyyy: true }
        }
    });

});
于 2013-01-11T22:08:32.560 回答