Хотелось бы отметить, что у виджета DatePicker пользовательского интерфейса jQuery есть очень хороший метод утилиты проверки даты, который проверяет формат и действительность (например, даты не доступны с 01.01.2013).
Даже если вы не хотите использовать виджет datepicker на своей странице в качестве элемента пользовательского интерфейса, вы всегда можете добавить его библиотеку .js на свою страницу и затем вызвать метод validator, передав в него значение, которое вы хотите проверить. , Чтобы сделать жизнь еще проще, в качестве входных данных используется строка, а не объект JavaScript Date.
См .: http://api.jqueryui.com/datepicker/
Он не указан как метод, но он есть - как служебная функция. Поищите на странице "parsedate", и вы найдете:
$. Datepicker.parseDate (формат, значение, настройки) - извлечение даты из строкового значения в указанном формате.
Пример использования:
var stringval = '01/03/2012';
var testdate;
try {
testdate = $.datepicker.parseDate('mm/dd/yy', stringval);
// Notice 'yy' indicates a 4-digit year value
} catch (e)
{
alert(stringval + ' is not valid. Format must be MM/DD/YYYY ' +
'and the date value must be valid for the calendar.';
}
(Более подробную информацию об указании форматов даты можно найти по адресу http://api.jqueryui.com/datepicker/#utility-parseDate)
В приведенном выше примере вы не увидите предупреждающее сообщение, поскольку «01/03/2012» является датой, действующей в календаре, в указанном формате. Однако, например, если вы сделали 'stringval' равным '13/04/2013', вы получите предупреждающее сообщение, поскольку значение '13/04/2013' недействительно для календаря.
Если переданное строковое значение успешно проанализировано, значением testdate будет объект Javascript Date, представляющий переданное строковое значение. Если нет, это было бы неопределенным.