Javascript Regular Expression将文本格式化为数千种,包括小数

时间:2016-05-27 15:53:32

标签: javascript regex

我正在尝试为输入数字输入的模糊输入格式。因此,如果我输入:1234并且输入模糊,则输入采用以下格式:1.234。 我使用这个正则表达式 /(\d)(?=(\d{3})+(?!\d))/g并替换字符串值$1.。像这样:

value.replace(this._mask.regex, this._mask.replaceString)

...直到包括小数。

所以当我输入1234,9999时,我得到1.234,9.999。我是一个有正则表达式的初学者,我想在现有的正则表达式中添加一些东西,避免在逗号后面格式化值。

1 个答案:

答案 0 :(得分:3)

使用toLocaleString

console.log(1234.5678.toLocaleString("en-us", {maximumFractionDigits: 10}));
console.log(1234.5678.toLocaleString("de"));

如果您的输入来自输入字段,那么为了确保您获得Number#toLocaleString而不是字符串输入将为您提供的默认Object#toLocaleString,请执行以下操作:

Number(input.value).toLocaleString(...)