Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Validare campo importo in Euro in un form

    Salve, ho un form in cui devo inserire un importo nel formato Euro, quindi unita + virgola(o punto) + decimali.
    C'è un javascript di esempio in giro che possa aiutarmi per testare che il campo digitato abbia effettivamente dei numeri, seguiti da un punto o da una virgola, e con di seguito 2 decimali ?
    Grazie a tutti !

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    var str = document.NOMEFORM.NOMECAMPO.value;
    if(str.match(/^[0-9]*[\.\,][0-9]{2}$/) {
    alert("il campo e` corretto");
    } else { ...

    Nota che la virgola non viene sostituita. Se devi usare il campo in un conto, la virgola deve venir sostituita dal punto.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    prova con questa funzione:

    codice:
    <script language="JavaScript" type="text/javascript">
    <!--
    function controllo(campo) {
    	var myre=/^\d+[\,\.]{1}\d{2}$/;
    	if (!(myre.test(campo.value))) {
             alert("Immettere un importo corretto.");
             return false;
            }
            return true;
    }
    //-->
    </script>
    ciao

  4. #4
    Perfetto grazie 1000.
    L'esempio di var mi pare forse più completo, perchè testa anche che l'importo non sia digitato senza unità, cioè ad esempio ,23

  5. #5
    pero` non mi sembrano molto corretti..

    se io come importo scrivo "5" mi dice che non e` in euro.......

    ci vorrebbe un controllino per sta cosa...

    lo sto facendo se riesco lo posto io
    ICQ: 47492757
    MSN: syncoNO_SPAM@tiscalinet.it
    "La scialba ragione separa l'infinito da noi"

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Si tratta solo di scrivere specifiche corrette, poi si puo` fare la regexp corrispondente.

    le specifiche di prima richiedevano che ci fossero due e solo due cifre decimali.
    Io avevo interpretato che non fosse necessaria la presenza di numeri interi, per cui ho usato l'*, mentre var ha ritenuto che ci dovessero essere, ed ha usato il + .

    Per la richiesta di synco, la regexp diventa:
    /^\d+([\,\.]{1}\d{2})?$/
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    170

    per capire meglio

    io ho bisogno di un script che mi controlli che l'importo venga inserito con il punto(e solo con il punto, la virgola deve essere considerata non corretta) se ci sono decimali diversi da 0, oppure solo da cifre intere, ossia sia ritenuto corretto sia 15 che 15.00 che 15.37. Avevo provato a farlo con le reg. ex. ma riesco a fare validare solo il formato 15.37, non so come implementarlo al resto
    codice:
         
    var importo_exp =  /^([0-9]{1,10})\.([0-9]{0,2})$/;
    	if  (!importo_exp.test(importo_doc))  {
            alert("Il campo Importo Documento non e' valido (per separare le cifre usare il punto, non la virgola)");
            document.forms[0].importo_doc.focus();
            document.forms[0].importo_doc.select();
            return false;
    	}
    Accetto ogni suggerimento, grazie.

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.