如何在JS中无效00/00/0000日期

时间:2011-05-11 06:54:41

标签: javascript jquery validation date datepicker

我正在使用jQuery Validation Plugin。我使用this post使用此插件验证我的日期。它工作但有一个问题。它也接受00/00/0000日期。如何通过修改以下功能使该日期无效。

$.validator.addMethod(
    "australianDate",
    function(value, element) {
        return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/);
    },
    "Please enter a date in the format dd/mm/yyyy"
);

3 个答案:

答案 0 :(得分:4)

这将确保数据格式正确并且也是有效日期。

$.validator.addMethod(
    "australianDate",
    function(value, element) {
        var tokens =  value.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})/);

        if (tokens == null) {
            return false;
        }

        var date = new Date(tokens[3], --tokens[2], tokens[1]);

        return ! isNaN(date.getTime());

    },
    "Please enter a valid date in the format dd/mm/yyyy"
);

答案 1 :(得分:3)

你可以尝试:

function(value, element){
    return /^\d{1,2}\/\d{1,2}\/\d{4}$/.test(value) &&
        !isNaN(+new Date(value.split('/').reverse().join('/')));
}

答案 2 :(得分:2)

也许你可以试试这个,也许它可以起作用:)

function(value, element) {
        if (!value.match(/^00\/00\/0000$/)) return value;        
}