Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Quando fai il controllo in tempo reale devi esaminare un carattere alla volta. E come puoi vedere tu stesso, né il punto né la virgola sono ovviamente accettati:

    codice:
    alert(isNaN("."));
    alert(isNaN(","));
    alert(isFinite("."));
    alert(isFinite(","));

  2. #12
    Originariamente inviato da carlomarx
    Quando fai il controllo in tempo reale devi esaminare un carattere alla volta. E come puoi vedere tu stesso, né il punto né la virgola sono ovviamente accettati:

    codice:
    alert(isNaN("."));
    alert(isNaN(","));
    alert(isFinite("."));
    alert(isFinite(","));


    invece /^\d+(,\d{2})?$/ questo da true giusto?

    ps: in info dovresti sapere che ci sono vari modi per risolvere lo stesso problema.. tu continua ad usare il tuo che io uso il mio..


  3. #13
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da Friko85


    invece /^\d+(,\d{2})?$/ questo da true giusto?
    No, anche quello dà false se esamini il singolo carattere digitato. Forse non hai capito qual è il punto…
    Cmq se vuoi usare un'espressione regolare devi usare questa: /\d|,/

    Originariamente inviato da Friko85
    ps: in info dovresti sapere che ci sono vari modi per risolvere lo stesso problema.. tu continua ad usare il tuo che io uso il mio..

    Certo che lo so. Ma dalle risposte che dai ho come l'impressione che non stiamo parlando dello stesso problema.

  4. #14
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Ah, dimenticavo gli inconvenienti di isFinite e di isNaN…:

    codice:
    alert(isFinite(true));
    alert(isFinite(false));
    alert(isFinite(""));
    alert(isFinite(" "));
    Facciamo così. Prendi la mia funzione e modificala utilizzando isFinite o isNaN a tua scelta. Vediamo se è possibile trovare i «vari modi per risolvere lo stesso problema»

  5. #15
    Originariamente inviato da carlomarx
    Ah, dimenticavo gli inconvenienti di isFinite e di isNaN…:

    codice:
    alert(isFinite(true));
    alert(isFinite(false));
    alert(isFinite(""));
    alert(isFinite(" "));
    ma perchè continui ad insistere.. basta..


  6. #16
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Ehi, calma. Non ho fatto altro che rispondere. Cmq sì, basta.

  7. #17
    Originariamente inviato da carlomarx
    Ehi, calma. Non ho fatto altro che rispondere. Cmq sì, basta.
    Se scrivi con presunzione potresti dare fastidio a qualcuno, qui nessuno fa la gara per chi sa di più, capisci?

    io non ho detto che il tuo metodo è sbagliato, ho solo messo una soluzione.

    e non capisco perchè diavolo continui ad insistere.. il solo motivo per cui non ho usato sta ca**o di espressione è per il semplice fatto che il controllo con isFinite o isNaN è più veloce.

    ci siamo capiti?

  8. #18
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Per me è chiusa qua. Resta il fatto che di fronte a una cosa impossibile (ovvero fare un controllo in tempo reale tramite gli eventi onkeypress o onkeydown utilizzando solo isFinite o isNaN) tu mi vieni a parlare del fatto che isFinite è più veloce... contento tu...

    Per info ti invio questa soluzione. Ho fatto il possibile per eliminare le espressioni regolari, ma il fatto è che non ci sono proprio riuscito

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Language" content="it" />
    <title>Esempio per il Forum di HTML.it</title>
    <script type="text/javascript">
    function checkInput(oMyField, oKeyEvent) {
    	var nChar = oKeyEvent.charCode, sChar = String.fromCharCode(nChar);
    	return nChar === 0 || (isFinite(sChar) && !/\s/.test(sChar)) || (sChar === "," && !/,/.test(oMyField.value));
    }
    
    function checkValue(oMyField) {
    	oMyField.value = oMyField.value.replace(/,$/, "").replace(/^,/, "0,");
    }
    </script>
    </head>
    
    <body>
    
    <form name="form1">
    
    
    <input type="text" name="importo1" onkeypress="return(checkInput(this, event));" onblur="checkValue(this);" onpaste="return(false);" />
    
    <input type="text" name="importo2" onkeypress="return(checkInput(this, event));" onblur="checkValue(this);" onpaste="return(false);" />
    
    <input type="text" name="importo3" onkeypress="return(checkInput(this, event));" onblur="checkValue(this);" onpaste="return(false);" />
    
    <input type="text" name="importo4" onkeypress="return(checkInput(this, event));" onblur="checkValue(this);" onpaste="return(false);" />
    
    <input type="text" name="importo5" onkeypress="return(checkInput(this, event));" onblur="checkValue(this);" onpaste="return(false);" />
    
    <input type="text" name="importo6" onkeypress="return(checkInput(this, event));" onblur="checkValue(this);" onpaste="return(false);" />
    
    <input type="text" name="nomeACaso" onkeypress="return(checkInput(this, event));" onblur="checkValue(this);" onpaste="return(false);" /></p>
    </form>
    
    </body>
    </html>
    Se ti vuoi convincere bene, altrimenti va bene uguale.

  9. #19
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ok, non essendosi stabilito definitivamente chi ce l'ha piu' tosto ma forse che non ve ne puo' importare meno di aiutare chi ha posto il quesito la diattriba si chiude qui.

    @ Dirk Pitt
    Perdona, per approfondire l'argomento puoi aprire un'altra discussione
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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