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(2, 29, 2001);" дает true
Ошибка исправлена, теперь работает как нужно.
функцию можно еще упростить =) текущий вариант почему-то не захотел отрабатывать на моем хостинге... но на локальной машине работал как надо
поэтому пришлось привести функцию к такому виду:
function checkdate(month, day, year) {
var myDate = new Date(year, month-1, day);
return ((myDate.getMonth()+1) == month && day<32);
}
и все заработало как надо =)
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.