Javascript 浏览器自动填充和正则表达式
我需要更好的帮助:) 我有一个输入字段,在其中输入我的金额。我接收到值(类似于“111,00”的字符串),并执行以下操作:Javascript 浏览器自动填充和正则表达式,javascript,regex,Javascript,Regex,我需要更好的帮助:) 我有一个输入字段,在其中输入我的金额。我接收到值(类似于“111,00”的字符串),并执行以下操作: const newVal = value.Amount.toString().replace(/\s/, '').replace(/,/g, '.'); 然后我使用定制 如果数字为零,则响应为真,否则为假。 但是,如果我想从我的chrome浏览器(例如111,00)自动填充传递金额,我有一个错误(金额不能为零):(我试图用replace(/\s+/g,”)来解决这个问题。
const newVal = value.Amount.toString().replace(/\s/, '').replace(/,/g, '.');
然后我使用定制
如果数字为零,则响应为真,否则为假。
但是,如果我想从我的chrome浏览器(例如111,00)自动填充传递金额,我有一个错误(金额不能为零):(我试图用replace(/\s+/g,”)来解决这个问题。
但是没有发生任何事情,我有相同的问题……我做错了什么?我如何解决这个问题
非常感谢您的帮助
编辑:
然后
在组件安装中
this.formValidations.addValidate(`${name}.Amount`, 'checkSum', 'Sum can't be 0');
我昨天发现有一个问题。一个铬元素根本没有添加空格
.replace(/[\u2060]/g, '')
它解决了我的问题。请在设置了
值的地方添加代码。金额编辑我的问题我猜浏览器自动填充不会触发句柄我测试了它。当我从自动填充下拉列表中选择一个值时,我的组件调用handleChange,我有in值。金额
例如值:{Amount:'111,00'}
。
handleChange(value) {
const { name } = this.props;
let onlyAmount;
if (value.Amount) {
this.hasComma = value.Amount.toString().indexOf(',') !== -1;
const newVal = value.Amount.replace(/,/g, '.');
if (newVal.split('.')[0].length > '9') {
return false;
}
onlyAmount = {
Amount: newVal,
};
}
this.props.onChange(name, value.Amount ? onlyAmount : value);
}
this.formValidations.addValidate(`${name}.Amount`, 'checkSum', 'Sum can't be 0');
.replace(/[\u2060]/g, '')