Ограничение диапазона дат с помощью JavaScript - PullRequest
4 голосов
/ 22 апреля 2011

Существует два поля ввода текста типа, чтобы написать дату начала и дату окончания в формате мм / дд / гггг.Мне нужна функция JavaScript, чтобы проверить, что интервал дат между этими введенными датами не превышает 14 дней.И максимальная дата должна быть текущей датой.Есть ли плагин или быстрое решение для этого?Я пытался использовать JQuery UI DatePicker, который будет работать нормально, но у меня есть пользовательская функция GetElementByClassName, которая конфликтует с JQuery.

1 Ответ

2 голосов
/ 22 апреля 2011

Следующие фрагменты должны дать вам несколько идей.

<script>
    var date1 = '01/14/2011';
    var date2 = '01/25/2011';

    // calculate the number of days between date1 and date2
    var daysBetween = new Date(date2).getTime() - new Date(date1).getTime();
    alert('days between = ' + daysBetween / 86400000);

    // check date3 against current date
    var now = new Date();
    var date3 = new Date('04/20/2011');
    if (date3 < now)
      alert('date3 is less than current date');

</script>

Итак, чтобы объединиться в функцию, вы можете сделать что-то вроде этого:

<script>
    function checkDates(date1, date2) {
        // calculate the number of days between date1 and date2
        var daysBetween = (new Date(date2).getTime() - new Date(date1).getTime()) / 86400000;

        if (daysBetween > 14)
          return false;

        var now = new Date();
        if (date2 < now)
          return false;

        return true;

    }
...