vue限制輸入框只能輸入8位整數和2位小數

看到這個標題好像很簡單,onblur、onchange事件都能做到,但是用戶體驗感貌似很差。查了下百度查不到資料了。看了下vue的基礎,發現 vue 有個 watch 監聽器好吧,從這裏入手 用v-model 加watch 就可以很簡單的實現這一個功能。

----代碼省略

<input id="amt" type="number" v-model="amount"/>

----代碼省略


data:{
  return{
    amount:""
  }
}

----代碼省略
watch:{
  amount(newVal,oldVal){
	console.log(newVal)
	var reg = /^(\d{0,8})(\.(\d{0,2}))?$/g;
	if(!reg.test(newVal)){
	  if(newVal == ''){
		this.amount = '';
		return;
	  }
	  this.amount = oldVal
	}else{
	  this.amount = newVal;
	}
  }
}

 

發佈了119 篇原創文章 · 獲贊 28 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章