input 输入价格
// 价格输入框 decimal: 精度
export function inputPrice(val, decimal) {
val = val.replace(/[^\d.]/g, '') // 清除“数字”和“.”以外的字符
val = val.replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的
val = val
.replace('.', '$#$')
.replace(/\./g, '')
.replace('$#$', '.')
switch (decimal) {
case 1:
val = val.replace(/^(-)*(\d+)\.(\d{1}).*$/, '$1$2.$3')
break
case 2:
val = val.replace(/^(-)*(\d+)\.(\d{2}).*$/, '$1$2.$3')
break
case 3:
val = val.replace(/^(-)*(\d+)\.(\d{3}).*$/, '$1$2.$3')
break
case 4:
val = val.replace(/^(-)*(\d+)\.(\d{4}).*$/, '$1$2.$3')
break
case 5:
val = val.replace(/^(-)*(\d+)\.(\d{5}).*$/, '$1$2.$3')
break
case 6:
val = val.replace(/^(-)*(\d+)\.(\d{6}).*$/, '$1$2.$3')
break
case 7:
val = val.replace(/^(-)*(\d+)\.(\d{7}).*$/, '$1$2.$3')
break
case 8:
val = val.replace(/^(-)*(\d+)\.(\d{8}).*$/, '$1$2.$3')
break
case 9:
val = val.replace(/^(-)*(\d+)\.(\d{9}).*$/, '$1$2.$3')
break
default:
val = val.replace(/^(-)*(\d+)\.().*$/, '$1$2.$3')
break
}
// 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
if (val.indexOf('.') < 0 && val != '') {
if (val.length > 9) {
val = val.substr(0, 9)
}
val = parseFloat(val)
}
return val
}

浙公网安备 33010602011771号