perchè l'espressione regolare accetta il punto come separatore fra euro e centesimi di euro...Originariamente inviato da fabiodm75
Infatti se inserisco es. 100,35 mi dice sempre di inserire un valore numerico!
Ciao e grazie
fabio
prova così:
re = /(^\d{1}[\.,]\d{2}$)|(^\d{2}[\.,]\d{1}$)|(^\d{1}[\., ]\d{1}$)|(^\d{4}$)|(^\d{3}$)|(^\d{2}$)|(^\d{1}$)/;
cmq io avrei fatto così:
re = /^[0-9]{1,4}([\.,][0-9]{2})?$/;
spiegazione:
il campo da analizzare deve iniziare("^") con un valore numerico("[0-9]"), i valori accettati vanno da 0 a 9999("{1,4}");
successivamente può esserci("(......)?") un punto(o anche una virgola,ma veramente sarebbe da sconsigliare,perchè le funzioni che fanno i calcoli poi danno errore)("[\.,]");se c'è il punto,devono esserci anche due cifre("[0-9]{2}"), che indicano i centesimi.
Dopo ciò la stringa deve finire("$").