Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253

    controllo numero intero e decimale

    Ciao amici!
    Vi chiedo una cosa che ormai mi fa dannare da giorni, avevo già postato questa funzione la ri-posto di nuovo poichè l'ho modificata!
    In pratica ragazzi vorrei riuscire a fare in modo che questa funzione che controlla i decimali, accetti anche i numeri interi. ma non riesco proprio a far verificare insieme i due controlli...
    guardate come ho scritto...(posto solo la funzione)

    <script>
    function controlla(dec)
    {

    //ho provato ad aggiungere un controllo che accetti anche i numeri interi

    var numero = new String()
    if (! numero.indexOf(",") != -1 )
    {
    alert("ok");
    return false;
    }

    //controlla che i decimali siano effettivamenti quelli passati, nel mio caso due

    var re = new RegExp("^\\d+\\,\\d{0,"+ dec +"}?$")
    var numero = document.getElementById('id_numero').value;

    else if(! numero.match(re))
    {
    alert('il numero non è corretto, inserire 2 decimali');
    return false;
    }


    return true;

    }
    </script>


    ragazzi vi ringrazio per l'aiuto che mi darete!
    Un saluto e buon fine settimana a tutti.
    Elisa

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il numero dov'e'? qui controlli solo una stringa vuota:

    var numero = new String()

    inoltre se ti va bene che non abbia la virgola perche' restituisci false?

    <script>
    function controlla(dec)
    {

    //ho provato ad aggiungere un controllo che accetti anche i numeri interi

    var numero = document.getElementById('id_numero').value;
    if ( numero.indexOf(",") == -1 )
    {
    alert("ok");
    return true;
    }

    //controlla che i decimali siano effettivamenti quelli passati, nel mio caso due

    var re = new RegExp("^\\d+\\,\\d{0,"+ dec +"}?$")

    if(! numero.match(re))
    {
    alert('il numero non è corretto, inserire 2 decimali');
    return false;
    }


    return true;
    }
    </script>

    ciao
    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    grazie!ho capito gli errori

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    eheheh si grazie!

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    ciao ragazzi!
    Scusate se tengo attiva questa discussione dei decimali, io per imparare mi invento mille cose e postare sul forum, per non rompere troppo, cerco di farla come ultima spiaggia...Prometto che su questo argomento sarà l'ultimo!
    solo che sto diventando matta su una cosa, all'interno di questa funzione ho cercato di far in modo che non accetti il punto (con indexof) e che si debbano inserire solo numeri e che dunque nessun elemento di testo è accettato eccetto la virgola, ho provato davvero in qualsiasi modo ma niente da fare!
    se potreste darmi una dritta vi ringrazio molto!
    questo è il link della pagina
    http://it.geocities.com/elisa_keating/ok.html
    il codice commentato sono i due controlli che ho fatto e non funzionano...per il resto è tutto corretto!

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    il codice sulla tua pagina è leggermente diverso dal codice che ti ho postato qualche giorno fa... mancano due parentesi tonde dalla regexp

    Comunque non è chiaro se i decimali (eventualmente inseriti) debbano per forza essere due oppure fino a 2.



    codice:
    <script> 
    function controlla(dec) 
    { 
    
    //controllo che accetti il numero intero
      var re = new RegExp("^\\d+(\\,\\d{1,"+ dec +"})?$") 
      var numero = document.getElementById('id_numero').value;
    
      if(!numero.match(re)) { 
         alert("il numero non è corretto"); 
         return false; 
      } 
    		
    return true; 
    } 
    </script>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    ciao!!
    Si scusa è che ho smanettato sopra questa funzione...l'ho modificata un pò!comunque quellop che vorrei io non è fattibile...?
    Ti ringrazio molto!
    Un saluto!
    Elisa

  9. #9
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    il codice che ti ho appena postato fa quello che hai chiesto, ovvero ammette numeri interi e numeri decimali (fino a 2 decimali) usando il segno di virgola (,) come separatore.



    ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    scusami è che io per impararla facendo le mie prove sopra non mi è accorta che facevo già tutto all'interno di queso controllo ora ci sono! Hai visto che ho aggiunto un 1 nell'espressione così accetta anche una cifra e basta dopo la virgola!
    Grazie mi hai insegnato una cosa che mi interessava molto!

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.