Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ant Design-带逗号-小数分隔符的货币输入_Javascript_Reactjs_Regex_Antd - Fatal编程技术网

Javascript Ant Design-带逗号-小数分隔符的货币输入

Javascript Ant Design-带逗号-小数分隔符的货币输入,javascript,reactjs,regex,antd,Javascript,Reactjs,Regex,Antd,我想使用Antd的组件作为货币输入,我使用的是官方文档建议的: <InputNumber min={0} size="large" style={{ width: 400 }} formatter={value => `$ ${value}`.replace(new RegExp(/\B(?=(\d{3})+(?!\d))/g), ',')} parser={value => value.replace(new Reg

我想使用Antd的
组件作为货币输入,我使用的是官方文档建议的:

<InputNumber
    min={0}
    size="large"
    style={{ width: 400 }}
    formatter={value => `$ ${value}`.replace(new RegExp(/\B(?=(\d{3})+(?!\d))/g), ',')}
    parser={value => value.replace(new RegExp(/\$\s?|(,*)/g), '')}
/>
`$${value}`.replace(新的RegExp(/\B(?=(\d{3})+(?!\d))/g),','))
parser={value=>value.replace(新的RegExp(/\$\s?|(,*)/g),“”)
/>
但我希望我能像使用十进制分隔符一样使用逗号数字:
R$17.350,70


输入我的货币信息的正确regex格式和解析器是什么?

如果JavaScript
RegExp
有向后标志,这将更加简洁。因为它没有,我们必须反转字符串,插入标点符号,然后再反转回来

解析只是将所有非数字,
\D
替换为零

我更熟悉使用句点
作为十进制,逗号
作为千位分隔符,但您应该可以很容易地将其反转

const numbers=[1,12,123,1234,12345,1234567,12345678,123456789].map(字符串);
函数格式(数字){
返回号码
.split(“”).reverse().join(“”)
.替换(/(\d{1,2})(\d{1,3})(\d{1,3})(\d{1,3})/,“$1.$2,$3,$4”)
.split(“”).reverse().join(“”)
.替换(/^,+/,'')
}
函数解析(货币){
退钱。替换(/\D/g,”);
}
函数日志(n){
控制台日志(n);
}
数字
.地图(格式)

.forEach(log)
你是说
123456789
应该转换成
1.234.567,89
?这正是我想要的@哈德逊·梅德罗斯我也有同样的问题。。你设法解决了吗?@GiuliaLage仍在寻找解决办法我回答了问题,但有人删除了,我只是想用输入而不是输入号码和一些依赖项来帮助解决另一个问题。。。如果你想再看一眼