vue实现input文本框只能输入0-99的正整数问题
更新时间:2022年10月21日 14:11:06 作者:前端李小白
这篇文章主要介绍了vue实现input文本框只能输入0-99的正整数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
vue input文本框只能输入0-99的正整数
利用vue里面自带的watch监听器就可以了。话不多说,直接贴代码。
<div class="age-select"> <input type="text" class="fromAge-input" v-model="fromAge" />至 <input type="text" class="toAge-input" v-model="toAge" /> </div>
data里面
data () { return{ fromAge: '0', toAge: '99' } }
在watch里面:
watch: { fromAge (newName, oldName) { var reg = /^([1-9]\d|\d)$/ if (!reg.test(newName)) { this.fromAge = '' } else { this.fromAge = newName } }, toAge (newName, oldName) { var reg = /^([1-9]\d|\d)$/ if (!reg.test(newName)) { this.toAge = '' } else { this.toAge = newName } } },
效果如下:
这里输入框只能输入0-99的正整数,如果不是的话就会清空掉数字。如果我们还想加入前面的数字不能大于后面的数字的话,我们只需要在需要的方法里面加一个判定条件就可以了。代码如下:
if (this.fromAge > this.toAge) { /* 如果起始年龄大于结束年龄的话,显示提示框 */ return this.$message.error('起始年龄不能大于结束年龄') }
效果如下:
通过自定义指令实现文本框只能输入正整数
directives: { numInput(el) { el.addEventListener("keypress", function (e) { e = e || window.event; let charcode = typeof e.charCode === "number" ? e.charCode : e.keyCode; let re = /\d/; if ( !re.test(String.fromCharCode(charcode)) && charcode > 9 && !e.ctrlKey ) { if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } } }); }, },
使用
<input type="text" v-numInput />
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue在install时node-sass@4.14.1 postinstall:node scripts/buil
最近在npm install 的时候遇到了个问题,所以给大家总结下,下面这篇文章主要给大家介绍了关于vue在install时node-sass@4.14.1 postinstall:node scripts/build.js错误的解决方法,需要的朋友可以参考下2023-05-05vue3与webpack5安装element-plus样式webpack编译报错问题解决
这篇文章主要介绍了vue3与webpack5安装element-plus样式webpack编译报错,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04Vue+ElementUi实现点击表格中链接进行页面跳转与路由详解
在vue中进行前端网页开发时,通常列表数据用el-table展示,下面这篇文章主要给大家介绍了关于Vue+ElementUi实现点击表格中链接进行页面跳转与路由的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-02-02
最新评论