Try this:

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/

Tests:

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("10");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("10.1");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("100.1");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("100.1543");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,000.1543");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,0s300.1543");
false

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,000");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,00");
false

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("100.");
false

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,000,000");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,000,000.2345");
true

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,000,00.2345");
false

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,00,000.2345");
false

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("1,00,000.");
false

On 6/12/07, Jörn Zaefferer <[EMAIL PROTECTED]> wrote:


Hi,

has anybody some regular expressions at hand that work in JS to match
decimal numbers, eg. 100, 100.4 or 100,120.124

Thanks for sharing.

--
Jörn Zaefferer

http://bassistance.de




--
Aaron Heimlich
Web Developer
[EMAIL PROTECTED]
http://aheimlich.freepgs.com

Reply via email to