Javascript 正则表达式将文本格式化为千位(包括小数)

标签 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。我是正则表达式的初学者,我想在现有正则表达式中添加一些内容,以避免格式化逗号后的值。

最佳答案

使用toLocaleString .

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

如果您的输入来自输入字段,请确保您获得的是 Number#toLocaleString 而不是字符串输入给出的默认 Object#toLocaleString你,做:

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

关于Javascript 正则表达式将文本格式化为千位(包括小数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37487741/

相关文章:

Javascript 对象原型(prototype) TypeError : . .. 未定义

javascript - JavaScript 是否支持正则表达式中高于 0xFFFF 的 Unicode 范围?

javascript - 如何在具有相同值的下拉菜单上触发 jQuery 更改事件

javascript - 如何仅突出显示嵌套表格的最里面的表格行?

javascript - 如果值在数组中,则生成新的随机值

javascript - 我自己对 codeigniter 中的默认 .htaccess 文件进行了一些更改,现在我的注销链接不起作用

python - 在 SQLalchemy 中过滤正则表达式

regex - 正则表达式问题

C++:正则表达式:返回完整字符串和不匹配的组

mysql - 将 "SELECT whatever FROM"转换为 "SELECT COUNT(*) FROM"的正则表达式是什么?