PHP: Função para validar data
Compartilho com você, caro leitor, uma função para validar data no padrão brasileiro (dd/mm/yyyy).
Aonde usar esta função? Em formulários que possuem campo, como data de aniversário etc.
header('Content-Type: text/html; charset=utf-8'); function ValidaData($data){ // data é menor que 8 if ( strlen($data) < 8){ return false; }else{ // verifica se a data possui // a barra (/) de separação if(strpos($data, "/") !== FALSE){ // $partes = explode("/", $data); // pega o dia da data $dia = $partes[0]; // pega o mês da data $mes = $partes[1]; // prevenindo Notice: Undefined offset: 2 // caso informe data com uma única barra (/) $ano = isset($partes[2]) ? $partes[2] : 0; if (strlen($ano) < 4) { return false; } else { // verifica se a data é válida if (checkdate($mes, $dia, $ano)) { return true; } else { return false; } } }else{ return false; } } } //boolean false $data = "32/12/2016"; // dia inválido $data = "31/15/2016"; // mês inválido $data = "31/12/0000"; // ano inválido $data = "31122016"; // não contém barras $data = "31/122016"; // somente uma barra $data = "31/12/1"; // menor que 8 caracteres //boolean true $data = "31/12/2016"; $data = "31/12/16"; if(ValidaData($data)){ echo "Data válida!"; }else{ echo "Data inválida!"; } |
Se você tem uma outra forma de validar, deixe nos comentários.
Até +!