Как сделать недействительной дату 00/00/0000 в JS - PullRequest
2 голосов
/ 11 мая 2011

Я использую плагин проверки 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"
);

Ответы [ 3 ]

4 голосов
/ 11 мая 2011

Это гарантирует, что данные в правильном формате и также являются действительной датой.

$.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"
);
3 голосов
/ 11 мая 2011

Вы можете попробовать:

function(value, element){
    return /^\d{1,2}\/\d{1,2}\/\d{4}$/.test(value) &&
        !isNaN(+new Date(value.split('/').reverse().join('/')));
}
2 голосов
/ 11 мая 2011

может быть, вы можете попробовать это, возможно, это может работать:)

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