function
number_format(s)
...
{
if(/[^0-9.-]/.test(s)) return "invalid value";
s=s.replace(/^(d*)$/,"$1.");
s=(s+"00").replace(/(d*.dd)d*/,"$1");
s=s.replace(".",",");
var re=/(d)(d...{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(dd)$/,".$1");
return s.replace(/^./,"0.")
}
alert(number_format( ' -123456.789 ' ));
if(/[^0-9.-]/.test(s)) return "invalid value";
s=s.replace(/^(d*)$/,"$1.");
s=(s+"00").replace(/(d*.dd)d*/,"$1");
s=s.replace(".",",");
var re=/(d)(d...{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(dd)$/,".$1");
return s.replace(/^./,"0.")
}
alert(number_format( ' -123456.789 ' ));