添加无小数的千分离子的正则是吗?

发布于 2025-01-28 11:48:12 字数 833 浏览 2 评论 0原文

我需要一个正则表达式,以将点添加为千米分隔符中的javaScript。我已经搜索了整个网络,而没有找到所需的格式。 它将返回此:

1
12
123
1.234
12.345
123.456
1.234.567
12.345.678
123.456.789

我正在尝试在输入中使用它。

  handleIdChange = (personalIdNumber) => {
this.validator.updateField("personalId", {
  number: personalIdNumber
})
this.props.setVisitorField({
  field: "personalId.number",
  value: personalIdNumber
});

            <CLTextInput
            highContrast={true}
            onChangeText={this.handleIdChange}
            keyboardType="numeric"
            placeholder="Número"
            returnKeyType="next"
            autoCapitalize="none"
            autoCorrect={false}
            value={visitor.personalId.number}
            error={this.shouldShowError("personalId")}
            accessibility
            />

I need a regular expression for adding a dot as a thousand and millon separator in Javascript. I've searched the whole web without finding the format I need.
It would return this:

1
12
123
1.234
12.345
123.456
1.234.567
12.345.678
123.456.789

I'm trying to use it in an input.

  handleIdChange = (personalIdNumber) => {
this.validator.updateField("personalId", {
  number: personalIdNumber
})
this.props.setVisitorField({
  field: "personalId.number",
  value: personalIdNumber
});

            <CLTextInput
            highContrast={true}
            onChangeText={this.handleIdChange}
            keyboardType="numeric"
            placeholder="Número"
            returnKeyType="next"
            autoCapitalize="none"
            autoCorrect={false}
            value={visitor.personalId.number}
            error={this.shouldShowError("personalId")}
            accessibility
            />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

策马西风 2025-02-04 11:48:12

不要使用正则表达式格式数字。使用适当的数字格式。

如果您想要德国风格的数字格式,请将其设置为语言环境。

const formatter = new Intl.NumberFormat('de-DE');
for (let i = 0; i < 10; i++) {
    const number = 10 ** i;
    console.log(formatter.format(number));
}

Don't use regular expressions to format numbers. Use a proper number formatter.

If you want german-style number formatting, set that as the locale.

const formatter = new Intl.NumberFormat('de-DE');
for (let i = 0; i < 10; i++) {
    const number = 10 ** i;
    console.log(formatter.format(number));
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文