Javascript conta i mesi a partire da zero: gennaio=0, dicembre=11
E non premette gli zero. Comunque siccome alla fine del giro l'oggetto data riconosce anche il formato con lo zerofill, poco male. Ma è bene saperlo.
Comunque, assumendo tu passi una data con quel formato ad una funzione che si attenda esattamente quel formato da te indicato, si può fare quello che cerchi in poche righe.
Sono sorpreso dal fatto che in così tanti script online si forniscano tutt'oggi procedure decisamente lunghette (esempio) per validare le date e che spesso si continui ad usare il modulus (%) per controllare se uno ha inserito 29 febbraio in un anno non bisestile, mentre javascript con l'oggetto date valida già da sè (oddio: sono sorpreso fino ad un certo punto... perchè io stesso anni fa ancora effettuavo validazioni con script inutilmente lunghi. In realtà talora si scopre in un secondo momento che new Date corregge anche le date sbagliate da sè).
Ad ogni modo prendendo spunto da questo thread ho appena ideato una funzione che effettua questa validazione in 5 righe scarse: Javascript Fast Human-Friendly-Data Format Data Validation.
Vedi te se fa al tuo caso.