ohplà, sentivate la mia mancanza?
ho un piccolo problemino con le espressioni regolari.
l'utente inserisce un prezzo in euro e può scrivere per es.
(1) 100000
(2) 100000.00 (con il punto decimale all'americana)
(3) 100000,00 (con la virgola decimale)
(4) 100.000,00 (con punti migliaia e virgola decimale)
io voglio che comunque il numero sia sempre del tipo 100.000,00 - es (4)
ho risolto per gli esempi 1, 2 e 3
verificando in questa maniera e in funzione riporto il numero a come voglio io
$numN=eregi("^([0-9]{1,9})$",$daver); //verifica che solo numeri senza punto o virgola decimale
$numP=eregi("^([0-9]{1,9})\.([0-9]{0,2})$",$daver); //verifica che solo numeri con . decimale e nessun o 2 decimali
$numV=eregi("^([0-9]{1,9}),([0-9]{0,2})$",$daver); //verifica che solo numeri con , decimale e nessun o 2 decimali
.............
.............
return number_format($daver,2,",",".");
(per inserimento di solo 0 o vuoto return "no prezzo" - in tutti gli altri casi return errore di inserimento)
mi sto incasinando con l'esempio (4) per verificare ed in questo caso non fare alcuna modifica al numero
$numPV= eregi( espressione_regolare, $daver);
secondo voi è giusta la seguente?
espressione_regolare = ("^([0-9]{0,3})+(\.){0,1}+([0-9]{0,3})+(\.){0,1}+([0-9]{1,3})+(,){0,1}+([0-9]{0,2})$")
grazie e ciao a tutti
ho un piccolo problemino con le espressioni regolari.
l'utente inserisce un prezzo in euro e può scrivere per es.
(1) 100000
(2) 100000.00 (con il punto decimale all'americana)
(3) 100000,00 (con la virgola decimale)
(4) 100.000,00 (con punti migliaia e virgola decimale)
io voglio che comunque il numero sia sempre del tipo 100.000,00 - es (4)
ho risolto per gli esempi 1, 2 e 3
verificando in questa maniera e in funzione riporto il numero a come voglio io
$numN=eregi("^([0-9]{1,9})$",$daver); //verifica che solo numeri senza punto o virgola decimale
$numP=eregi("^([0-9]{1,9})\.([0-9]{0,2})$",$daver); //verifica che solo numeri con . decimale e nessun o 2 decimali
$numV=eregi("^([0-9]{1,9}),([0-9]{0,2})$",$daver); //verifica che solo numeri con , decimale e nessun o 2 decimali
.............
.............
return number_format($daver,2,",",".");
(per inserimento di solo 0 o vuoto return "no prezzo" - in tutti gli altri casi return errore di inserimento)
mi sto incasinando con l'esempio (4) per verificare ed in questo caso non fare alcuna modifica al numero
$numPV= eregi( espressione_regolare, $daver);
secondo voi è giusta la seguente?
espressione_regolare = ("^([0-9]{0,3})+(\.){0,1}+([0-9]{0,3})+(\.){0,1}+([0-9]{1,3})+(,){0,1}+([0-9]{0,2})$")
grazie e ciao a tutti