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

    RegExp che controlla i numeri

    Ciao a tutti.
    Prendendo spunto da questo thread ho creato questa funzione:

    codice:
     function checkNum(field, type){
    	
    	var stringa = field.value;
    	replaced = stringa.replace(/\./g,''); // elimina tutti i punti
    
    	var rex = /^[0-9]+(,)?([0-9]+)?$/
    	if(!rex.test(replaced.value)){
    		alert('Errore\nIl numero inserito nel campo '+type+' non è nel formato corretto.\n\nFormato accettato: 0000,00');
    		field.value = "";
    	}
    }
    Il problema è che il controllo lo fa praticamente su qualsiasi tipo di dato inserisca nel campo del form: sia con del testo, sia nel formato 0000,00, sia nel formato 0.000,00 e sia nel formato 0000.

    Insomma, non mi lascia inserire nulla nel campo

    Qualche suggerimento?

  2. #2
    codice:
     function checkNum(field, type){
    	
    	var stringa = field.value;
    	replaced = stringa.replace(/\./g,''); // elimina tutti i punti
    
    	var rex = /^[0-9]+(,)?([0-9]+)?$/
    	if(!rex.test(replaced)){
    		alert('Errore\nIl numero inserito nel campo '+type+' non è nel formato corretto.\n\nFormato accettato: 0000,00');
    		field.value = "";
    	}
    }
    HTH ... Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Ehm... :rollo: mi era sfuggito

    Grazie

  4. #4
    Posta questa regexp:
    codice:
    var rex = /^[\-]+[0-9]+[,]?([0-9]+)?$/
    se inserisco un numero -1000 funziona correttamente.
    Se invece inserisco un numero 1000, mi dà errore.
    E' come se volesse "per forza" il meno (-) davanti ai numeri.

    Come posso correggere la regexp?

    Grazie

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cambia [\-]+ in \-?
    le quadre non sono necessarie dal momento che non e' un range di possibili caratteri
    il + significa una o piu' occorrenze, di fatto permettendo anche l' inserimento di ----121232, che non credo sia desiderato nel tuo caso

    ? che non segue un quantificatore significa 0 o 1 occorrenza

    ciao

  6. #6
    Inutile dirti che funziona...

    Grazie è però doveroso.

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.