Javascript.RU

PHP-функция: checkdate

Javascript:

function checkdate( month, day, year ) {	// Validate a Gregorian date
	// 
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)

	var myDate = new Date();

	myDate.setFullYear( year, (month - 1), day );
 
        return ((myDate.getMonth()+1) == month && day<32); 

}

Примеры:

checkdate(12, 31, 2000);
true

checkdate(2, 29, 2001);
false


Автор: ATr (не зарегистрирован), дата: 4 мая, 2009 - 11:53
#permalink

к сожалению не учитывает високосные даты =(


Автор: ATr (не зарегистрирован), дата: 4 мая, 2009 - 11:56
#permalink

и приведенный пример "checkdate(2, 29, 2001);" дает true


Автор: Илья Кантор, дата: 4 мая, 2009 - 15:53
#permalink

Ошибка исправлена, теперь работает как нужно.


Автор: ATr (не зарегистрирован), дата: 7 мая, 2009 - 09:58
#permalink

функцию можно еще упростить =) текущий вариант почему-то не захотел отрабатывать на моем хостинге... но на локальной машине работал как надо

поэтому пришлось привести функцию к такому виду:

function checkdate(month, day, year) {
var myDate = new Date(year, month-1, day);
return ((myDate.getMonth()+1) == month && day<32);
}

и все заработало как надо =)


Автор: Гость (не зарегистрирован), дата: 12 февраля, 2015 - 17:25
#permalink

Здравствуйте. Вот себе делал, может кому и пригодится:

//проверка Високосного года
if(month==2 && day==29)
{
	if(year%4==0 && (year%100!=0 || year%400==0))
            //если Високосный
	else
            //если обычный (надпись вроде "В этом году 29 февраля нет")
}
else
{
    //проверка обычного года
    var trueDate = new Date();
    trueDate.setFullYear(year, (month-1), day);
    if(((trueDate.getMonth()+1) == month && day<32))
        //если дата правильная
    else
        //если дата неправильная
}

Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 5 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum