JQuery, как проверить дату меньше текущей даты - PullRequest
3 голосов
/ 06 февраля 2012

Как я могу проверить, что выбранная дата выбора даты меньше текущей даты.

Мой формат выбора даты: [MON d, YYYY] Как [Feb 6, 2012] ,

, если я выберу старую дату в текстовом поле, как я могу проверить, что эта дата меньше текущей даты.

Ответы [ 2 ]

3 голосов
/ 06 февраля 2012

Используйте $.datepicker.parseDate(format, string), чтобы превратить вашу дату в JavaScript Date, получить текущую дату на var now = new Date();

. После этого вы можете просто использовать оператор <, чтобы проверить, меньше ли выбранная дата, чемтекущая дата.

РЕДАКТИРОВАТЬ: Предполагая, что вы используете JQuery UI выбора даты

2 голосов
/ 06 февраля 2012

Это, кажется, делает трюк ...

var isFutureDate = new Date < new Date(
                               str
                               .match(/^\[(\w{3})\s(\d+),\s(\d{4})\]$/)
                               .slice(1)
                               .join(' ')
                              );

jsFiddle .

Это создает новый объект Date, который по умолчанию соответствует текущему времени клиента, а затем создает второй Date объект, передающий измененную версию вашего пользовательского ввода, которая может быть проанализирована конструктором Date.Операторы < вызывают valueOf() обеих дат, что возвращает миллисекунды с эпохи Unix (эквивалент вызова getTime()).

Вы можете учитывать начальные и конечные пробелы на входеиспользуя $.trim() или заключая регулярное выражение в \s*.

Вы можете поменять new Date на $.now(), что немного меньше символов

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