Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manolegal

[Resolvido] Validar horas

Recommended Posts

Ola amigos. Estou precisando validar campo tipo hora no PHP.

Tentei varios exemplos mas nao consegui resultado satisfatorio.

Exemplos testados:

$hora_saida = "05:30";

if(!ereg("^([0-1][0-9]|[2][0-3]):[0-5]0-9]$", $hora_saida)){
if(!ereg("^[0-2]{1}[0-4]{1}:[0-5]{1}[0-9]{1}$", $hora_saida)){

 

Se alguem tiver alguma sugestao, desde ja agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra começar, utilize a função preg_match pois é melhor em performance e a função ereg está marcada como "deprecated" a partir da versão 5.3 do PHP .

 

Para validar hora com expressões regulares nesse formato que você passou fica assim:

 

$hora = '05:30';

if (preg_match('/^[0-9]{2}:[0-9]{2}$/', $hora)) {
echo '<p>Hora válida!</p>';
} else {
echo '<p>Hora inválida!</p>';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Leo.

 

Obrigado pela força. Acho que esta funçao nao valida valores como $hora = '05:71';

Preciso que valide somente horas validas (até 23:59). No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Léo.

Consegui resolver meu problema.

Fiz +- assim:

 

if (preg_match('/^[0-9]{2}:[0-9]{2}$/', $hora)) {
   echo .................

 

Fiz ainda:

$horas = substr("$hora", 0,2);
$minutos = substr("$hora", 3,2);
if (($horas > "23") OR ($minutos > "59")) {
   exho.....

 

Resolveu certinho meu problema.

Obrigado pela força. Até a próxima. Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.