// Este exemplo mostra como verificar se uma string
// contém uma data válida. Veja que usamos algumas
// funções auxiliares para a realização desta
// tarefa.
var data:String = "28/13/2007";
// vamos obter um array com o dia, mês e ano
var partes:Array = data.split("/");
var dia:int = parseInt(partes[0]);
var mes:int = parseInt(partes[1]);
var ano:int = parseInt(partes[2]);
var valida:Boolean = true;
var msg:String = "";
// vamos verificar se o mês é válido
if((mes < 1) || (mes > 12)){
msg += "Mês inválido.\n";
valida = false;
}
// vamos verificar se o ano é válido
else if((ano < 1970) || (ano > 3000)){
msg += "Ano inválido.\n";
valida = false;
}
// vamos verificar se o dia é válido
else if((dia < 0) || (dia > diasMes(mes, ano))){
msg += "Dia inválido.\n";
valida = false;
}
if(!valida){
Alert.show("Data inválida.\nMotivos:\n" + msg);
}
else{
Alert.show("Data válida");
}
// código da função anoBissexto
public function anoBissexto(ano:int):Boolean{
return ((ano % 4 == 0) && ((!(ano % 100 == 0)) ||
(ano % 400 == 0)));
}
// fim código da função anoBissexto
// código da função diasMes
public function diasMes(mes:int, ano:int):int{
var dias_meses: Array = [31, 28, 31, 30, 31, 30, 31,
31, 30, 31, 30, 31];
var quant_dias:int = dias_meses[mes - 1];
// verifica se o ano é bissexto
if((anoBissexto(ano)) && (mes == 2))
quant_dias = 29;
return quant_dias;
}
// fim código da função diasMes