Try:
^[1-9](\d{0,2})(,\d{3})*(\.\d{3})$
^([1-9](\d{0,2})|0)(,\d{3})*(\.\d{3})
If you want to work with regexes, then get a copy of
Expresso [
^] - it's free, and it examines and generates Regular expressions.
[edit]:doh: - I forgot "0.123", the original expression wouldn't allow it. - OriginalGriff[/edit]