Convalida un numero con migliaia raggruppate con decimale fino al centesimo
-
26-09-2019 - |
Domanda
Alla ricerca di un modo semplice (Funzione/RegEx) per convalidare un numero con migliaia raggruppate.
Numeri di esempio:
.00 - 999.00 should validate
1,000.00 should validate
100,000.00 etc... should validate
100,000,000,000,000.00 should validate
Ora ho visto il numero_formato(), ma questo formatta il numero non convalida.
Volevo usare un RegEx ma non sapevo come farlo.
preg_match(/^[\d]\,?\.[\d]{2}$/, $number);
ma questo non funziona.
Ho anche guardato il formato_moneta() ma ancora una volta questo è formato e non convalida.
Soluzione
^(?:\d{1,3}(?:,\d{3})*)?\.\d{2}$
Altri suggerimenti
Proprio in cima alla mia testa:
preg_match('%^[\d,]*\.\d{2}$%', $number);
Questo corrisponderà a tutti i numeri che hai menzionato (in effetti:ogni stringa che inizia con una combinazione di cifre e virgole e termina con "." e a cifre).
Ancora una volta, questo non è stato testato ma dovrebbe funzionare.
Se hai un PHP5.3+ puoi provare il formattatore di numeri Intl:
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow