我需要格式化数字,以便数千不被任何东西分开,数百个用点分隔。例如
1234.56 12.34 123
我写了以下ReqExp
amountValue.replace(/^(\d+)[,.](\d{3})[.,](\d{2})$/,'$1' + '$2' +'.'+'$3').replace(/^(\d+),(\d{2})$/,'$1' +'.'+'$2');
如果有办法缩短它?
谢谢!
答案 0 :(得分:1)
我认为这可能有效:
amountValue.replace(/^(\d*)[,.]?(\d{0,3})[.,](\d{2})$/,'$1' + '$2' +'.'+'$3');
针对您的数据进行尝试。
答案 1 :(得分:1)
我会删除任何非小数点的非数字字符:
amountValue.replace(/[^0-9](?!\d{2}$)/, '').replace(/,(?=\d{2}$)/, '.');