Como validar data padrão PT-BR com javascript

Veja um exemplo simples de como é possível #validar #data no padrão PT-BR com #javascript.

function validarDataBr(data) {
    // Expressão regular para validar o formato dd/mm/yyyy
    let regexData = /^\d{2}\/\d{2}\/\d{4}$/;
        
    if (!regexData.test(data)) {
        return false;
    }
    
    // Divide a data em dia, mês e ano
    let partes = data.split('/');
    let dia = parseInt(partes[0], 10);
    let mes = parseInt(partes[1], 10) - 1; // Mês é baseado em zero (0-11)
    let ano = parseInt(partes[2], 10);
    
    // Cria um objeto Date e verifica se é uma data válida
    let dataObj = new Date(ano, mes, dia);
    return (
        dataObj.getFullYear() === ano &&
        dataObj.getMonth() === mes &&
        dataObj.getDate() === dia
    );
}


// Exemplo de uso:
let dataValida = validarDataBr('31/12/2022');

if (dataValida) {
    console.log('Data válida');
} else {
    console.log('Data inválida');
}