Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    validare data nel formato YYYYMMDD

    Qualche giorno fa ho visto un modo interessante di validazione data, proposto (non ricordo bene ) o da Xinod o da Br1 ed ho preso spunto da quella risposta per costruire un validatore data nel formato YYYYMMDD.
    Ne ho fatto una funzione che sembra funzionare, ma ho la sensazione che sia ampollosa.
    Insomma, chiedo che se possibile, venga corretta :master:
    codice:
    function CustomValidator1_validate(value)
    {
        try
        {
            if(value.length != 8) {return false;}
            var d = new Date(parseInt(value.substr(0, 4),10) ,parseInt(value.substr(4, 2),10)-1,parseInt(value.substr(6, 2),10));
            var anno = d.getFullYear();
            var mese = (parseInt(d.getMonth(),10) + 1).toString(); if(mese.length == 1) mese = "0" + mese;
            var giorno = (parseInt(d.getDate(),10)).toString(); if(giorno.length == 1) giorno = "0" + giorno;
            var s = anno + "" + mese + "" + giorno;
            
            if(s != value) {return false;};
        }
        catch(e)
        {
            return false;
        }
        return true;
    }
    Pietro

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non mi pare particolarmente ampollosa.
    Eventualmente puo anteporre un test sui caratteri, in modo da escludere errori di battitura prima di fare il resto del test:
    if(!value.match(/^(19|20)\d{2}(0[1-9]|1[0-2])([0-2]\d|3[01])$/) ) {
    alert("errore di battitura");
    return false;
    }

    Questo sostituisce anche il test sulla lunghezza che fai all'inizio.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ah bene, ti ringrazio.
    Pietro

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.