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

How to invalid 00/00/0000 date in JS

本文关键字:0000 日期 无效 中使 JS      更新时间:2023-09-26

我正在使用jQuery验证插件。我用这篇文章来验证我的日期,使用这个插件。它正在工作,但存在问题。它也接受 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"
);

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

$.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"
);

你可以试试:

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

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

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