Coloquei no formato da aula a restrição de data (aaaa-mm-dd) com o seguinte código:
static textoParaData(texto){
if (!/\d{4}-\d{2}-\d{2}/.test(texto))
throw new Error('O formato deve ser aaaa/mm/dd');
return new Date(...texto.split('-').map((item,indice) => item - indice % 2));
}
Só que a restrição só serve para menos, se colocar mais caracteres que d{4} o browser aceita como válido e dá uma data louca. Como solucionar isso?