J'ai cette expression régulière /^\d(\d|\,\d{3}|,\d.+$)*$/
Avec mes exemples de données:
100.00 - Not working :(
1,000.00 - Working
100,000.00 - Working
1,000,000.00 - Working
Note: Je dois donner une erreur si le résultat est 0.00
Des idées ou des suggestions? Merci.
Vous pourriez peut-être utiliser:
^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$
Voyez comment ça marche ici .
De plus, si vous souhaitez interdire les zéros non significatifs, la regex serait:
^(?!0\.00)[1-9]\d{0,2}(,\d{3})*(\.\d\d)?$
Une version symbolique
^([^\d\s]{1,}\s?[+-]?)(\d{1,3})(\,\d{3})*(\.\d{1,})?$
Vérifierai
Vous pouvez utiliser:
^\$?(?!0.00)(([0-9]{1,3},([0-9]{3},)*)[0-9]{3}|[0-9]{1,3})(\.[0-9]{2})?$
Il va vérifier
100.00 - oui
1,000.00 - oui
100,000.00 - oui
1 000 000,00 - oui
0,00 - non