Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    Verificare se il contenuto della form è una data

    Ciao a tutti sono giorni che cerco di vedere se il contenuto di una form "scadcontratto" è una data ma nel forum ho trovato questa fnzione che va benissimo el caso di un numero maes."15" ma no per verificare il contenuto come es.15/12/09 se uso il controllo String() la data la vede come una stringa quindi non blocca l'inserimento.Mi chiedo esiste una funzione isDate che verifica il contenuto della form? posto tutto i mio codice di controllo

    <SCRIPT Language="JAVASCRIPT">
    <!--
    function Modulo() {
    // Variabili associate ai campi del modulo
    var azienda = document.modulo.azienda.value;
    var promemo = document.modulo.promemo.value;
    var scadcontratto = document.modulo.scadcontratto.value;

    //Effettua il controllo sul campo NOME
    if ((azienda == "") || (azienda == "undefined")) {
    alert("Il campo Azienda è obbligatorio.");
    document.modulo.azienda.focus();
    return false;
    }

    if ((promemo == "") || (promemo == "undefined")) {
    alert("Il campo Giorni di Preavviso è obbligatorio.");
    document.modulo.promemo.focus();
    return false;
    }

    if ((scadcontratto == "") || (scadcontratto == "undefined")) {
    alert("Il campo Scadenza Contratto è obbligatorio.");
    document.modulo.scadcontratto.focus();
    return false;
    }

    //QUI DEVO CONTROLLARE LA DATA VVoVe:

    if (isNaN(scadcontratto)){
    alert("Il campo Scadenza Contratto è una Data es.03/06/66");
    document.modulo.scadcontratto.focus();
    return false;
    }

    //INVIA IL MODULO
    else {
    document.modulo.action = "inserimento.asp";
    document.modulo.submit();
    }
    }
    //-->

    </SCRIPT>
    sPERO IN QUALCHE ANIMA PIA CIAO
    Dodo66

  2. #2
    beh, dipende, devi considerare che la data la puoi scrivere in N modi:

    24-3-09
    24-03-2009
    24/03/09

    che sebbene concettualmente siano la stessa cosa, dal punto di vista del codice JS sono diverse.

    La cosa migliore a mio avviso è utilizzare un datepicker, ovvero un Widget JS per ottenere la data in formato fisso.

    Per esempio:

    http://www.nsftools.com/tips/DatePickerTest.htm

    oppure, con l'utilizzo di una libreria:

    http://www.styledisplay.com/mootoolsdatepicker/
    I DON'T Double Click!

  3. #3
    a volte basta cercare su google
    attenzione ai formati accettati come data mm-dd-yyyy mm/dd/yyyy

    Codice PHP:
    // ******************************************************************
    // This function accepts a string variable and verifies if it is a
    // proper date or not. It validates format matching either
    // mm-dd-yyyy or mm/dd/yyyy. Then it checks to make sure the month
    // has the proper number of days, based on which month it is.

    // The function returns true if a valid date, false if not.
    // ******************************************************************

    function isDate(dateStr) {

    var 
    datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var 
    matchArray dateStr.match(datePat); // is the format ok?

    if (matchArray == null) {
    alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
    return 
    false;
    }

    month matchArray[1]; // p@rse date into variables
    day matchArray[3];
    year matchArray[5];

    if (
    month || month 12) { // check month range
    alert("Month must be between 1 and 12.");
    return 
    false;
    }

    if (
    day || day 31) {
    alert("Day must be between 1 and 31.");
    return 
    false;
    }

    if ((
    month==|| month==|| month==|| month==11) && day==31) {
    alert("Month "+month+" doesn`t have 31 days!")
    return 
    false;
    }

    if (
    month == 2) { // check for february 29th
    var isleap = (year == && (year 100 != || year 400 == 0));
    if (
    day 29 || (day==29 && !isleap)) {
    alert("February " year " doesn`t have " day " days!");
    return 
    false;
    }
    }
    return 
    true// date is valid

    Ubuntu rulez!! :P

  4. #4
    e se la data è americana?
    I DON'T Double Click!

  5. #5
    bisogna fare una funzione che la giri nel formato europeo.. sempre che non si faccia prima a riscrivere la funzione..
    Ubuntu rulez!! :P

  6. #6
    e come fai a capire se è in formato americano o europeo?
    I DON'T Double Click!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    Grazie per le risposte

    Grazie mille provo e vi faccio sapere siete ..PAZZESCHI
    Dodo66

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 © 2024 vBulletin Solutions, Inc. All rights reserved.