vue限制輸入框只能輸入8位整數(shù)和2位小數(shù)的代碼
看到這個標(biāo)題好像很簡單,onblur、onchange事件都能做到,但是用戶體驗感貌似很差。查了下百度查不到資料了??戳讼聉ue的基礎(chǔ),發(fā)現(xiàn) vue 有個 watch 監(jiān)聽器好吧,從這里入手 用v-model 加watch 就可以很簡單的實現(xiàn)這一個功能。
----代碼省略
<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;
}
}
}
ps:vue input控制輸入框十位整數(shù)位兩位小數(shù)位,其他字符不讓輸入
<input type="text" placeholder="請輸入金額" v-model="orderMoney" @input="checkInput" />
checkInput() {
this.orderMoney = this.dealInputVal(this.orderMoney);
},
dealInputVal(value) {
value = value.replace(/^0*(0\.|[1-9])/, "$1");
value = value.replace(/[^\d.]/g, ""); //清除"數(shù)字"和"."以外的字符
value = value.replace(/^\./g, ""); //驗證第一個字符是數(shù)字而不是字符
value = value.replace(/\.{1,}/g, "."); //只保留第一個.清除多余的
value = value
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".");
value = value.replace(/^(\-)*(\d*)\.(\d\d).*$/, "$1$2.$3"); //只能輸入兩個小數(shù)
value =
value.indexOf(".") > 0
? value.split(".")[0].substring(0, 10) + "." + value.split(".")[1]
: value.substring(0, 10);
return value;
}
總結(jié)
以上所述是小編給大家介紹的vue限制輸入框只能輸入8位整數(shù)和2位小數(shù)的代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
基于Vue3實現(xiàn)前端埋點上報插件并打包發(fā)布到npm的詳細過程
這篇文章主要介紹了基于Vue3實現(xiàn)一個前端埋點上報插件并打包發(fā)布到npm,本項目采用pnpm進行Monorepo環(huán)境搭建,因為未來這個項目可能會加入更多的工具包,需要的朋友可以參考下2022-10-10
Vue使用z-tree處理大數(shù)量的數(shù)據(jù)以及生成樹狀結(jié)構(gòu)
這篇文章主要介紹了Vue使用z-tree處理大數(shù)量的數(shù)據(jù)以及生成樹狀結(jié)構(gòu)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
使用vue-infinite-scroll實現(xiàn)無限滾動效果
vue-infinite-scroll插件可以無限滾動實現(xiàn)加載更多,其作用是是當(dāng)滾動條滾動到距離底部的指定高度時觸發(fā)某個方法。這篇文章主要介紹了用vue-infinite-scroll實現(xiàn)無限滾動效果,需要的朋友可以參考下2018-06-06
vue.js聲明式渲染和條件與循環(huán)基礎(chǔ)知識
這篇文章主要為大家詳細介紹了vue.js聲明式渲染和條件與循環(huán)的基礎(chǔ)知識,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
uniapp開發(fā)打包成H5部署到服務(wù)器的詳細步驟
前端使用uniapp開發(fā)項目完成后,需要將頁面打包,生成H5的靜態(tài)文件,部署在服務(wù)器上這樣通過服務(wù)器鏈接地址,直接可以在手機上點開來訪問,下面小編給大家講解uniapp開發(fā)打包成H5部署到服務(wù)器的步驟,感興趣的朋友一起看看吧2022-11-11
vue?router進行路由跳轉(zhuǎn)并攜帶參數(shù)的實例詳解(params/query)
在使用`router.push`進行路由跳轉(zhuǎn)到另一個組件時,可以通過`params`或`query`來傳遞參數(shù),這篇文章主要介紹了vue?router進行路由跳轉(zhuǎn)并攜帶參數(shù)(params/query),需要的朋友可以參考下2023-09-09

