Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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.
Sim, isso serve apenas para validar o formato (00:00). Se quiser algo mais complexo recomendo que estude expressões regulares. ;)
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.
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)) {
} else {