Проверка формы JQuery пользовательского формата даты ДД-ММ-ГГГГ - PullRequest
0 голосов
/ 22 февраля 2011

Я использую плагин jquery-validate для проверки моей формы. У меня есть правило проверки как

var validator = $("#myform").validate({
rules: {
            Date: {
                required: true,,
          },
       },
});

Как проверить поле в стандартном формате даты DD-MM-YYYY ??

заранее спасибо ..:)

blasteralfred

1 Ответ

0 голосов
/ 26 июля 2011

Вы должны иметь возможность использовать «пользовательский метод» в плагине.Вы в основном вызываете свою собственную функцию JS, которая будет анализировать дату (используя все, что вы хотите, возможно, с помощью регулярного выражения и проверки даты JS), а затем решаете, пройдет или нет ваша дата, возвращая значение true / false или строку с нулевым значением.для прохода или сообщение об ошибке для сбоя.См. Плагин «Validate» для примеров.

Чтобы проверить формат текстовой строки-даты, попробуйте регулярное выражение, например:

var vDT="(([012]?[1-9])|10|20|30|31)[/](([0]?[1-9])|10|11|12)[/](19|20)?[0-9]{2}";
var regex = new RegExp(vDT);
return (regex.test(dateString));

Регулярное выражение проверит на «хороший»дата, но не идеальная дата, например: 99/99/9999 не удается, 31/03/2011 проходит, но также и 31/02/2011.Обратите внимание, что это допускает 2 цифры или 19xx или 20xx года, но вы можете ограничить это только 4 цифрами, так как вы можете оказаться в 20 веке.

Чтобы создать JS-совместимую дату в США из даты в Великобритании, вам нужно сделать что-то вроде:

var uk = '21/11/2011';
var uka = split(uk, '/');
var jsdate = new date(uka[2], uka[1]-1, uka[0])

Затем убедитесь, что ваша jsdate действительна ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...