Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    validazione orario con ereg

    Sto tentando di validare un orario con ereg ...

    dove sbaglio nella regex ?

    Codice PHP:

    $orario 
    "01:00-02:00";

    if (
    ereg("(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])-([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"$orario)){
        echo 
    $orario." = orario OK
    "
    ;
    }
     else {
    echo 
    $orario." = orario KO
    "
    ;

    Grazie per un consiglio

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    $orario = "01:00-02:00";

    if (ereg("(^([0-9]|[0-1][0-9]|[2][0-3])[0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])-([0-9]|[0-1][0-9]|[2][0-3])[0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)", $orario)){
    echo $orario." = orario OK
    ";
    }
    else {
    echo $orario." = orario KO
    ";
    }

  3. #3
    Innanzi tutto non usare ereg, ma usa le preg_*

    Poi, pur essendo io un fan delle regular expressions, spesso i problemi si risolvono piu' facilmente seguendo altre vie. Ad esempio in questo caso mi sembra piu' semplice scomporre gli orari e fare semplici check sui numeri interi (ora compresa tra 0 e 23, minuti tra 0 e 59). Se invece e' un esercizio per imparare le regexp allora ok.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie

    Mi sembra di essere molto vicino, xchè con un orario funziona:

    $orario = "01:00";

    if (ereg("(^([0-9]|[0-1][0-9]|[2][0-3])[0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)", $orario)){
    echo $orario." = orario OK
    ";
    }
    else {
    echo $orario." = orario KO
    ";
    }

  5. #5
    codice:
    <?php
    $orario = "11:00-12:34";
    
    if (preg_match("/^([0-1][0-9]|2[0-3]):[0-5][0-9](-([0-1][0-9]|2[0-3]):[0-5][0-9])?$/", $orario)) {
    	echo $orario ." = orario OK
    ";
    } else {
    	echo $orario ." = orario KO
    ";
    }
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.