封装成一个函数,挂到Vue原型上
// 金额输入
function cash(e){
let price = e.toString()
// 直接输入小数点时转化为'0.'
if(price.indexOf('.') == 0){
price = price.replace(/[^$#$]/g,'0.')
}
// 首位多个0转化成一个
price = price.replace(/^0{1,}/g,'0')
// 连续多个小数点转化成一个
price = price.replace(/\.{2,}/g,'.')
// 只能有两位小数
price = price.match(/^\d*\.?\d{0,2}/g)[0]
return price
}
Vue.prototype.$cash = cash
监听输入框的输入事件
input(e){
this.$nextTick(() => {
this.cash = this.$cash(e)
})
},