Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di naverit
    Registrato dal
    Apr 2002
    Messaggi
    460

    Controllo form (solo numeri e virgola)

    Uso queste righe javascript per validare un campo di un form... (in questo caso controlla se in in input ho inserito solo numeri e mi blocca le lettere...)
    ma io vorrei che fosse permessa la sola lettera "," (virgola) perchè devo potere inserire numeri con la vorgola, ad esempio 10,50 o 11,30


    Verifica CNTS
    if(isNaN(document.frmEnquiry.cnts.value)) {
    errorMsg += "\n\tCNTS'\t- Hai inserito delle lettere,sono ammesse solo cifre!";
    }




    è possibile?
    Ars longa...vita brevis.

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    var dato = document.frmEnquiry.cnts.value;
    if (!(dato.match(/^\d+(,\d+)?$/))) {
      errorMsg += "\n\tCNTS'\t- Hai inserito delle lettere,sono ammesse solo cifre!";
    }
    Ciao
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Si fa con le RegExp:
    codice:
    if(!document.frmEnquiry.cnts.value.match(/^[\d\,]+$/)) {
      errorMsg += "\n\tCNTS'\t- Hai inserito caratteri vietati,sono ammesse solo cifre e virgola!";
    }
    la RegExp /^[\d\,]+$/ fa quello che chiedi, ma io la farei un po' piu` sofisticata:
    /^\d+([\,\.]\d*)?$/
    che permette una sola virgola o punto e chiede necessariamente una cifra per iniziare
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di naverit
    Registrato dal
    Apr 2002
    Messaggi
    460
    // Verifica che il bkgs contenga solo numeri o un punto o una virgola e inizia con una cifr
    if(!document.frmEnquiry.bkgs.value.match(/^\d+([\,]\d*)?$/)) {
    errorMsg += "\n\tBKGS\t- Hai inserito caratteri vietati,sono ammesse solo cifre e virgola!";
    }


    così funziona correttamente!

    ma ho ancora un problema: il campo non dev'essere obbligatorio... e questo codice mi da errore anche se il campo è vuoto!
    Ars longa...vita brevis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ad esempio tirando la massimo la RegExp:
    /^(\d+([\,]\d*)?)?$/

    Oppure fai prima un test se il campo e` vuoto ed in tal caso salti il test successivo
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.