Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [Regex] Validare 01 02 03 e 2000 2001 .......

    Ciao.

    Come si può validare ad esempio i
    gg della settimana
    da 01 a 07
    mesi dell'anno
    da 01 a 12
    anno
    da 2000 a mettiamo ad essere previdenti 2050
    (insomma in questo caso 'a' sarebbe da valutare )


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2


    scusate naturalmente i gg iniziano da

    da 01 a 31
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    $isValid=(bool)preg_match('/[0-3]{1}[0-9]{1}/','01');//true
    var_dump($isValid);
    echo "
    ";
    $isValid2=(bool)preg_match('/[0-3]{1}[0-9]{1}/','07');//true
    var_dump($isValid2);
    echo "
    ";
    $isValid3=(bool)preg_match('/[0-3]{1}[0-9]{1}/','08');//true
    var_dump($isValid3);
    echo "
    ";
    $isValid4=(bool)preg_match('/[0-3]{1}[0-9]{1}/','31');//true
    var_dump($isValid4);
    echo "
    ";
    $isValid4=(bool)preg_match('/[0-3]{1}[0-9]{1}/','20');//true
    var_dump($isValid4);
    echo "
    ";
    $isValid5=(bool)preg_match('/[0-3]{1}[0-9]{1}/','32');//true
    var_dump($isValid5);
    echo "
    ";
    Peccato per il 32 ;(
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Mah cercando nel vasto web
    la cosa sembrerebbe fattibile
    con un misto di regex e robetta
    varia che tra l'altro valida pure
    se un mese è di 31 30 o 28/9 gg
    E solo con le regex ni pare dura



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ciao, scusa se interrompo il tuo soliloquio ma non puoi usare checkdate?

    http://se2.php.net/manual/it/function.checkdate.php

  6. #6
    A chi può servire :

    Codice PHP:
    $day = (int)'29'
    $month = (int)'02';
    $year= (int)'2000';
    //true
    $day = (int)'29'
    $month = (int)'02';
    $year= (int)'2001';
    //false
    $day = (int)'28'
    $month = (int)'02';
    $year= (int)'2007';
    //true
    $day = (int)'31'
    $month = (int)'11';
    $year= (int)'2007';
    //false
    $isValidDayMonthtrue;
    $arrayLookup = array('1'=>'31',
                        
    '3'=>'31',
                        
    '4'=>'30',
                        
    '5'=>'31',
                        
    '6'=>'30',
                        
    '7'=>'31',
                        
    '8'=>'31',
                        
    '9'=>'30',
                        
    '10'=>'31',
                        
    '11'=>'30',
                        
    '12'=>'31');
    if(
    $day !== && $month !== && $year !== ){
        if(isset(
    $arrayLookup[$month]) && $day <= 31){
             
    //check if month value and day value agree
            
    if($day >= $arrayLookup[$month]){
                
    //bad day for the month
                
    $isValidDayMonthfalse;
            }
        }
        
    //check february day 
        
    if ($month === 2){ 
            if(
    $day 29){
                
    //bad day for the month
                
    $isValidDayMonthfalse;  
            }
            elseif(
    $day === 29){
                if ((
    $year == 0) && ($year 100 != 0) || ($year 400 == 0)) {
                  
    // year div by 4 and ((not div by 100) or div by 400) ->ok
                     
    $isValidDayMonthtrue;  
                 }  
                else{
                    
    $isValidDayMonthfalse;
                }
            }
        }
    }
    var_dump($isValidDayMonth); 
    Ogni suggerimento è il benvenuto


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da whisher
    checkdate


  9. #9
    Originariamente inviato da nicola75ss
    Ciao, scusa se interrompo il tuo soliloquio ma non puoi usare checkdate?

    http://se2.php.net/manual/it/function.checkdate.php

    PP ero così impegnato con me stesso
    che non avevo visto il post


    Ps.
    Cq adesso devo risolvere come validare

    mese e anno
    e
    anno

    Pensandoci un attimo potrei
    gestire il tutto prendendo spunto
    dal mio masterpiece senza regex.

    Che ne pensi ?





    PS

    Checkdate proprio non l'avevo vista
    e sinceramente non era saltata
    fuori neanche dopo riterate ricerche su google
    ma forse sbagliavo chiave di ricerca
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ma giorno,mese e anno come vengono passati?
    Hai tre campi di tipo testo, tre menù a tendina o cosa?

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.