MomentJS — предназначен для проверки ввода?

Предназначен ли MomentJS для разбора пользовательского ввода?

Я довольно близко подобрался к простым случаям, поскольку он принимает даты в порядке ДДММГГГГ и обрабатывает некоторые варианты.

Он не очень хорошо обрабатывает недопустимые даты при указании формата — включая слишком высокие значения дня или переключение значений года между 2 и 4 цифрами.

Примеры интерпретации года:

var date1 = moment('30082012', 'DDMMYYYY');
var date2 = moment('30082012', 'DDMMYY'); // Gives wrong year - 2020
var date3 = moment('300812', 'DDMMYYYY'); // Gives wrong year - 1900
var date4 = moment('300812', 'DDMMYY');

Примеры того, что, надеюсь, будет недействительными датами:

var date5 = moment('08302012', 'DDMMYYYY'); // Gives Jun 08 2014
var date6 = moment('08302012', 'DDMMYY'); // Gives Jun 08 2022
var date7 = moment('083012', 'DDMMYYYY'); // Gives Jun 08 1902
var date8 = moment('083012', 'DDMMYY'); // Jun 08 2014

Я создал JS Fiddle со следующими примерами: http://jsfiddle.net/cHRfg/2/

] Есть ли способ, чтобы момент принимал более широкий массив пользовательского ввода и отклонял неверные даты? Или библиотека для этого не предназначена?

8
задан Overflew 23 May 2012 в 00:10
поделиться