Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Controllo campi valuta

  1. #1

    Controllo campi valuta

    Ciao a tutti,
    un piccolo aiuto, sto cercando uno script in Javascript per il controllo di un campo valuta in un form c'è qualcosa?

    Ciao e grazie
    Fabio

  2. #2
    Ciao,
    ho trovato questo script sul forum, ma non riesco a capire come inserirlo
    codice:
    <script> 
    function valuta() 
    { 
    re = /(^\d{1}[\.]\d{2}$)|(^\d{2}[\.]\d{1}$)|(^\d{1}[\. ]\d{1}$)|(^\d{4}$)|(^\d{3}$)|(^\d{2}$)|(
    ^\d{1}$)/; 
    valore=document.form1.testo.value 
    in_soldi = re.test(valore); 
    if (!in_soldi) 
    { 
    alert("Inserire valore valido"); 
    return false; 
    } 
    else return true 
    } 
    </script>
    potete aiutarmi?
    ciao e grazie
    fabio

  3. #3
    potresti mettere un onclick sul bottone di conferma del form (più semanticamente corretto sarebbe l'evento onsubmit), che ritorna true o false e quindi l'alert.
    codice:
    valore=document.form1.testo.value
    al posto di testo metti il name della input text che hai tu, lo stesso per il form,,
    in codice diventa:
    codice:
    <script> 
    function valuta() 
    { 
    re = /(^\d{1}[\.]\d{2}$)|(^\d{2}[\.]\d{1}$)|(^\d{1}[\.  ]\d{1}$)|(^\d{4}$)|(^\d{3}$)|(^\d{2}$)|(^\d{1}$)/; 
    valore=document.form1.testo.value;
    in_soldi = re.test(valore); 
    if (!in_soldi) 
    { 
    alert("Inserire valore valido"); 
    return false; 
    } 
    else return true 
    } 
    </script>
    ... 
    <body>
    <form name="form1">
    ...
    ...
    campo valuta: <input type="text" name="testo" value="" />
    ...
    ...
    <input type="submit" onclick="return valuta()" value="conferma" />
    </form>
    ...
    precipito

  4. #4
    Allora sono riuscito ad inserirlo ma funziona solo sui numeri interi!
    Infatti se inserisco es. 100,35 mi dice sempre di inserire un valore numerico!
    Accetta solo numeri interi... come posso fare?

    Ciao e grazie
    fabio

  5. #5
    mm,, con le regexp non sono ferrato,, probabilmente devi modificare l'espressione che fa il test,, non dovrebbe richiedere chi sa che,, ma non so proprio dove mettere le mani
    precipito

  6. #6
    Originariamente inviato da fabiodm75
    Infatti se inserisco es. 100,35 mi dice sempre di inserire un valore numerico!
    Ciao e grazie
    fabio
    perchè l'espressione regolare accetta il punto come separatore fra euro e centesimi di euro...
    prova così:
    re = /(^\d{1}[\.,]\d{2}$)|(^\d{2}[\.,]\d{1}$)|(^\d{1}[\., ]\d{1}$)|(^\d{4}$)|(^\d{3}$)|(^\d{2}$)|(^\d{1}$)/;

    cmq io avrei fatto così:
    re = /^[0-9]{1,4}([\.,][0-9]{2})?$/;
    spiegazione:
    il campo da analizzare deve iniziare("^") con un valore numerico("[0-9]"), i valori accettati vanno da 0 a 9999("{1,4}");
    successivamente può esserci("(......)?") un punto(o anche una virgola,ma veramente sarebbe da sconsigliare,perchè le funzioni che fanno i calcoli poi danno errore)("[\.,]");se c'è il punto,devono esserci anche due cifre("[0-9]{2}"), che indicano i centesimi.
    Dopo ciò la stringa deve finire("$").

  7. #7
    Grazie COMANDANTE SPACE!!!

    Buona quella che hai suggerito te, ora funziona perfettamente ed inoltre ho capito come funziona!
    Grazie ancora.

    Ciao
    Fabio

  8. #8
    di niente

  9. #9
    Utente di HTML.it L'avatar di Spyfil
    Registrato dal
    Dec 2001
    Messaggi
    801
    scusate la riesumazione ma è colpa della mia ignoranza. Sono riuscito a fare il controllo della valuta, ora come faccio a fare il controllo del valore? Mi serve che il vlore sia > 0,09
    Non riesco a farglielo digerire...

    Qualcuno mi aiuta?

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.