gpt4 book ai didi

javascript - 如何使用 javascript 格式化货币并验证

转载 作者:行者123 更新时间:2023-11-30 19:27:19 26 4
gpt4 key购买 nike

我正在使用 React,不想格式化和验证输入值。

我的用例是:

1- in 输入将允许仅写入数字和点 [.]2- 值最大为 10003- 如果用户将写例如:

如果200 就是 200.00

如果99 就是 99.00

如果 10000它将是 1000.00

如果22222它将是 222.22

我需要防止在最后一个值之前写两个点,只需要一个点。

我尝试了什么?

onKeyPress 函数:

onKeyPress={e => {
const BIRTHNUMBER_ALLOWED_CHARS_REGEXP = /^[0-9.]*$/;
if (!BIRTHNUMBER_ALLOWED_CHARS_REGEXP.test(e.key)) {

e.preventDefault();
}
}}

通过这种方式,我可以防止除点和数字之外的任何字符。但是对于另一个用例,我不知道如何弄清楚

最佳答案

最好将验证委托(delegate)给特定的库,例如 Yup 或其他一些库。

您的问题可以分为两个问题:验证和格式化。

您可以轻松验证字符串是否为 float 。 float 仅包含数字和一个点(最多一个)。

const isAFloat = str => str.split('').filter(char => char !== '.').every(char => !Number.isNaN(parseInt(char))) && 
str.indexOf('.') === str.lastIndexOf('.')

格式化你可以做的 float ,这会给你你想要的格式

parseFloat(str,10).toFixed(2)

关于javascript - 如何使用 javascript 格式化货币并验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56769968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com