Home » Programação » Como validar data e hora com PHP

0

Uma das tarefas mais comuns em desenvolvimento web é a validação de dados. Como a maioria dos websites utilizam formulários, você sempre terá que validar estes dados antes de fazer algo com eles. Alguns dos maiores motivos de realizar a validação de dados são a segurança e a garantia de que a pessoa irá inserir informações compatíveis com o que você está pedindo (CPF, data, email, etc).

Em um post anterior ensinei como realizar a validação de e-mail com PHP, e neste mostrarei como validar data e hora com PHP.

Antes de validar a data e a hora com PHP, vamos analisar como elas são formadas. Se pararmos para pensar, data e hora são formadas seguindo o padrão dd/mm/aaaa hh:mm. Então, exemplos válidos de data e hora seriam “23/05/2013 20:30”.

Para realizar uma validação simples de data e hora podemos usar uma expressão regular:

No código acima estamos realizando uma validação simples, que aceita, no entanto, valores como por exemplo “32/13/2050 25:61”. Se você está no planeta terra, pode perceber que esta data e hora são inválidas.

Então, como validar data e hora com php da forma correta?

Vamos lá, iremos continuar utilizando expressões regulares em nossa validação de hora e, com ajuda de outras funções nativas do PHP, iremos finalizar a validação da data.

No código acima a data passa no teste caso a ela seja “32/13/2050”. Antes de corrigirmos essa parte, vamos entender a validação da hora. Vou traduzir sobre o que a parte “([01][0-9]|2[0-3]):[0-5][0-9]” está tratando.

Na primeira parte desse trecho de expressão regular ([01][0-9]|2[0-3]), quero um número que inicie com 0 ou 1 seguido de um número entre 0 e 9, ou (note que este ou é representado pelo sinal “|” pipe) que inicie com o número 2 seguido de um número entre 0 e 3. Depois deve existir o sinal de dois pontos (:), seguido de um número entre 0 e 5 e depois um número entre 0 e 9.

Com isso garantimos que seja uma hora válida. E a data? Vamos lá.

No código acima uso alguns explodes para separar uma string em um array, e depois utilizo a função checkdate() para validar a data.

Agora uma função para validar a data e a hora:

Como usar a função de validação de data e hora

Com a função acima fica fácil validar data e hora com PHP. Existe uma forma de validar a data também com expressão regular. Mas isso fica para um próximo post.

Caso tenha gostado deste artigo, por favor clique nos botões de compartilhamento para ajudar a divulgar o blog.

Cadastre seu e-mail para receber as novidades do blog

Tags:,

Deixe um comentário