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