Validar data digitada pelo usuário

O que o código faz?

Este código verifica se a data fornecida pelo usuário (armazenada em "user.data") é válida. Primeiro, é exibida no console a "data digitada pelo usuário" e "data pós inserir texto do usuário". Em seguida, é definida uma função "data_valida" que verifica se a data passada como parâmetro está no formato correto (dd/mm/aaaa) e se é uma data válida (por exemplo, se o mês possui no máximo 31 dias). Se a data for válida, a variável "context.data_valida" é definida como "ok", caso contrário, é definida como "nok". No final, o valor de "context.data_valida" é exibido no console com a mensagem "Retorno do context.data_valida:"

Copie o código aqui:

date = user.data;
console.log("data digitada do usuáriou:" + user.tesdatacompra)
console.log("data pós inserir texto do usuário: " + date)

function data_valida(date) {
	var valid = /^(\d{2})[/](\d{2})[/](\d{4})$/.exec(date);
	if (valid === null) {
		return false;
	}
	var dia = valid[1];
	var mes = valid[2] - 1;
	var ano = valid[3];
	var data = new Date(ano, mes, dia);
	if (data.getFullYear() != ano || data.getMonth() != mes || data.getDate() != dia) {
		return false;
	}
	if (ano % 4 !== 0 || ano % 100 === 0 && ano % 400 !== 0) {
		if (mes === 1 && dia > 28) {
			return false;
		}
	}
	else {
		if (mes === 1 && dia > 29) {
			return false;
		}
	}
	return true;
}
if (data_valida(user.data) === true) {
	context.data_valida = "ok"
}
else {
	context.data_valida = "nok"
}
console.log("Retorno do context.data_valida: " + context.data_valida)

Last updated