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

    ennesimo controllo data

    Scusate se rompo le scatole ma a tutt'oggi non sono riuscito a capire una cosa importante:
    qualcuno mi sa consigliare un controllo per date con formato
    gg/mm/yyyy che funzioni realmente?
    che controlli il giorno in base al mese che il mese sia effettivamrnte conpreso tra 1 e 12.
    grazie a tutti !!!
    :adhone:

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    In quale linguaggio ti serve questo script: javascript, vbscript, php...??
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    javascript
    con e senza regexp basti che funzioni a dovere!
    :tongue:

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    function checkdate(gg, mm, aaaa)
    {
    'controllo iniziale'
    if ((gg > 31) or (mm > 12)) then return false;

    ' mesi di 31 giorni '
    if ((gg == 31) then
    {
    if ((mm == 2) or (mm == 4) or (mm == 6) or (mm == 9)
    or (mm == 11)) then return false;
    }

    ' anni bisestili '
    if ((aaaa MOD 4) == 0) then
    {
    if ((mm == 2) and (gg > 28)) then return false;
    }

    return true;
    }

    dimmi se funziona...
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    rettifica: il controllo iniziale dovrebbe essere:
    if (((mm < 1) or (mm > 12)) or ((gg < 1) or (gg > 31)))

    ...

    altrimenti sarebbe valido un valore minore o uguale a 0 per mesi e/o giorni...
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4

    controllo data con validazione giorno per quel mese e anno bisestile e formato

    codice:
    <script type="text/javascript">
    <!--
    
      function checkDateForm( _datestr )  /* written by Dynamic [admin@codebreakers.tk] */
      {
        var _minyear = 1970;
        var _maxyear = (new Date()).getFullYear();
    
        var _dateform = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;
        var _monthdays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        var _canvalidatebymonth = true;
    
        var _errordesc = "";
        var _errorfound = false;
        var _singlematch = null;
    
        if ( (_singlematch = _datestr.match(_dateform)) != null )
        {
          if ( _singlematch[3] < _minyear || _singlematch[3] > _maxyear ) {
            _errorfound = true;
            _errordesc += "  - l'anno \"" + _singlematch[3] + "\" non è valido\n";
          } else 
            if ((_singlematch[3] % 4 == 0) && (_singlematch[3] % 400 != 0))
              _monthdays[1] = 29;
    
          if ( _singlematch[2] < 1 || _singlematch[2] > 12 ) {
            _errorfound = true;
            _canvalidatebymonth = false;
            _errordesc += "  - il mese \"" + _singlematch[2] + "\" non è valido\n";
          }
    
          if (_singlematch[1] < 1 || ( (_canvalidatebymonth &&  _singlematch[1] > _monthdays[_singlematch[2]-1]) || (!_canvalidatebymonth &&  _singlematch[1] > 31)) ) {
            _errorfound = true;
            _errordesc += "  - il giorno \"" + _singlematch[1] + "\" non è valido\n";
          }
    
        } else {
          _errorfound = true;
          _errordesc += "  - il formato non è valido\n";
        }
    
        if ( _errorfound ) {
          alert ("Errore nella data \"" + _datestr + "\":\n" + _errordesc);
          return false;
        } else
          return true;
      }
    
    //-->
    </script>

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.