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
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
Ciao,
ho trovato questo script sul forum, ma non riesco a capire come inserirlo
potete aiutarmi?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>
ciao e grazie
fabio
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.
al posto di testo metti il name della input text che hai tu, lo stesso per il form,,codice:valore=document.form1.testo.value
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
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
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
perchè l'espressione regolare accetta il punto come separatore fra euro e centesimi di euro...Originariamente inviato da fabiodm75
Infatti se inserisco es. 100,35 mi dice sempre di inserire un valore numerico!
Ciao e grazie
fabio
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("$").
Grazie COMANDANTE SPACE!!!
Buona quella che hai suggerito te, ora funziona perfettamente ed inoltre ho capito come funziona!![]()
Grazie ancora.
Ciao
Fabio
di niente![]()
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?