Вы можете попробовать это
moment('16-jun-199', 'DD-MMM-YYYY',true).isValid())
Примечание: дополнительный флаг true для анализа strict
. который сообщает момент, чтобы не использовать подстановочные знаки и использовать точное совпадение.
Парсер Момента очень прощающий, и это может привести к
нежелательное / неожиданное поведение.
Например, можно наблюдать следующее поведение:
moment('2016 is a date', 'YYYY-MM-DD').isValid() //true, 2016 was
matched
Начиная с версии 2.3.0, вы можете указать логическое значение для последнего аргумента
чтобы заставить момент использовать строгий анализ. Строгий анализ требует, чтобы
формат и ввод точно совпадают, включая разделители.
moment('It is 2012-05-25', 'YYYY-MM-DD').isValid(); // true
moment('It is 2012-05-25', 'YYYY-MM-DD', true).isValid(); // false
moment('2012-05-25', 'YYYY-MM-DD', true).isValid(); // true
moment('2012.05.25', 'YYYY-MM-DD', true).isValid(); // false
Источник: https://momentjs.com/docs/