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