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'));