Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Stamos
    Registrato dal
    Jul 2004
    Messaggi
    160

    [PHP] Controllare l'input - verifica di una stringa

    Dunque nel mio form ho due campi di tipo text, dove l'utente deve inserire la data e l'ora.Il formato deve essere :

    - gg/mm/aa
    - 00:00:00

    Come posso controllare che la stringa che ha inserito l'utente corrisponde effettivamente al formato che io desidero?

    Grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di Stamos
    Registrato dal
    Jul 2004
    Messaggi
    160
    come posso verificare se ogni singolo carattere della mia stringa è di un certo formato?

  3. #3
    Utente di HTML.it L'avatar di giobar
    Registrato dal
    Aug 2004
    Messaggi
    41
    Questo è un javascript che controlla fomato dell'ora e validità della data immessa (formato mese ecc...) spero ti possa servire
    ciao

    <script language="javascript">

    function Modulo() {
    // Variabili associate ai campi del modulo
    var data= document.modulo.data.value;
    var ora= document.modulo.ora.value;
    //Effettua il controllo sul campo ora solo il formato hh:mm:ss non se e giusta
    else if (document.modulo.ora.value.substring(2,3) != ":" ||
    document.modulo.ora.value.substring(5,6) != ":" ||
    isNaN(document. modulo.ora.value.substring(0,2)) ||
    isNaN((document.modulo.ora.value.substring(3,5)) ||
    isNaN(document.modulo.ora.value.substring(6,7))) {
    alert(document.modulo.ora.value); alert("Inserire ora in formato hh:mm:ss");
    document.modulo.ora.value = "";
    document.modulo.ora.focus();
    return false;
    }
    //Controlla validità della data e il formato
    //Effettua il controllo sul campo DATA

    else if (document.modulo.data.value.substring(2,3) != "/" ||
    document.modulo.data.value.substring(5,6) != "/" ||
    isNaN(document.modulo.data.value.substring(0,2)) ||
    isNaN(document.modulo.data.value.substring(3,5)) ||
    isNaN(document.modulo.data.value.substring(6,10))) {
    alert("Inserire data in formato gg/mm/aaaa");
    document.modulo.data.value = "";
    document.modulo.data.focus();
    return false;
    }
    else if (document.modulo.data.value.substring(0,2) > 31) {
    alert("Impossibile utilizzare un valore superiore a 31 per i giorni");
    document.modulo.data.select();
    return false;
    }
    else if (document..modulo.data.value.substring(3,5) > 12) {
    alert("Impossibile utilizzare un valore superiore a 12 per i mesi");
    document.modulo.data.value = "";
    document.modulo.data.focus();
    return false;
    }
    else if (document.modulo.data.value.substring(6,10) < 1900) {
    alert("Impossibile utilizzare un valore inferiore a 1900 per l'anno");
    document.modulo.data.value = "";
    document.modulo.data.focus();
    return false;
    }
    else {
    document.modulo.action = "insart.php";
    document.modulo.submit();
    }
    }
    //-->
    </script>
    Gio75

  4. #4
    Utente di HTML.it L'avatar di Stamos
    Registrato dal
    Jul 2004
    Messaggi
    160
    Grazie ma credo che non fa per il mio caso ...

    Io vorrei verificare se una stringa ha questo formato: gg/mm/aa

    cioè che la sua lunghezza è 8
    i primi due caratteri sono interi ...
    il 3° che sia un "/" ...

    e avanti cosi ...

  5. #5

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Forse questo potrà esserti utile...
    codice:
    preg_match("/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(0[0]|[23456789][0-9])$/", $data);
    In pratica, l'espressione regolare, effettua un controllo sul classico formato gg/mm/aa, verificando che il giorno non sia superiore a 31, il mese non superiore di 12 e l'anno sia compreso tra il 1920 e il 2000. Può essere modificata per accettare o meno parametri di riconoscimento diversi, ma dovrebbe andar bene così.


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.