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

    Formattazione specifica di un numero...

    Ho la necessità di eseguire la formattazione di un campo text in modo tale che:

    1 - Vengano inseriti solo numeri;
    2 - I numeri inseriti devono essere solo 6 (non uno di più e non uno di meno);
    3 - Venga inserito automaticamente un punto "." dopo la quarta cifra;
    4 - Il formato finale dovrà essere del tipo xxxx.xx (es. 2523.00);
    5 - In tempo reale un avviso avverta la digitazione errata;

    Qualcosa del genere l'ho già vista da qualche parte a proposito di formattazione di valute,
    in cui venivano inseriti i punti delle migliaia.

    RINGRAZIO QUESTO FORUM E TUTTI COLORO CHE MI AIUTERANNO.
    <!-- TopiX -->

  2. #2
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    javascript
    codice:
    <script type="text/javascript">
    function my_format(o) {
     var v=o.value;
     if (v.length<5) {
      if (v.search(/^[0-9]{0,4}$/)==-1) {
       o.value=v.substring(0,v.length-1);
      }
     }
     else if (v.length==5) {
      if (v.search(/^[0-9]{0,4}\.$/)==-1) {
       o.value=v.substring(0,v.length-1);
      }
     }
     else {
      if (v.search(/^[0-9]{0,4}\.[0-9]{0,2}$/)==-1) {
       o.value=v.substring(0,v.length-1);
      }
     }
    }
    </script>
    html
    codice:
    <input type="text" value="" id="asd" onkeyup="my_format(this)" />
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  3. #3
    Inanzi tutto GRAZIE Francis87 per la disponibilità!

    Lo script che mi hai mostrato, mi sta bene che annulli i caratteri non accettati,
    ma almeno un punto dopo la quarta cifra vorrei metterlo, magari automaticamente
    come quest'altro script che ho trovato:


    codice:
    
    function comm (commessa) {
    	var lunghezza=commessa.value.length;
    
      if(lunghezza==4){
        commessa.value=commessa.value+".";
      }
    }
    
    
    codice:
    
    <input name="commessa" value="" type="text" onkeyup="comm(this)">
    
    Come faccio ad unire le funzionalità dei due script?
    GRAZIE
    <!-- TopiX -->

  4. #4
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    javascript
    codice:
    <script type="text/javascript">
    function my_format(o) {
     var v=o.value;
     if (v.length==4) {
      v+='.';
      o.value=v;
     }
     if (v.length<5) {
      if (v.search(/^[0-9]{0,4}$/)==-1) {
       o.value=v.substring(0,v.length-1);
      }
     }
     else if (v.length==5) {
      if (v.search(/^[0-9]{0,4}\.$/)==-1) {
       o.value=v.substring(0,v.length-1);
      }
     }
     else {
      if (v.search(/^[0-9]{0,4}\.[0-9]{0,2}$/)==-1) {
       o.value=v.substring(0,v.length-1);
      }
     }
    }
    </script>
    spero funzioni, non l'ho provato
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  5. #5
    TI RINGRAZZIO TANTISSIMO..... FUNZIONA BENISSIMO!!!

    GRAZIE!!!!!
    <!-- TopiX -->

  6. #6
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    sono contento funzioni!
    buon divertimento!
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  7. #7
    Mi sono accorto adesso che non funziona proprio benissimo...
    c'è l'unico problema che non impone la scrittura minima di
    di 6 cifre (al di fuori del punto).

    Per spiegarci meglio, il formato deve essere fisso e cioè per es. 0000.00
    (come il CAP che deve avere 5 numeri, ne uno di più ne uno di meno).

    GRAZIE
    <!-- TopiX -->

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.