[英]How to make Vue js vuetify input allow only 3 digits before decimal and 2 digits after decimal
[英]Rejecting non digits in vue input
有人知道如何实现一个在用户尝试输入时拒绝输入非数字的 VUE 输入字段。
一些:
<b-form-input v-on:keypress="onlyNumber(...."
谢谢!
最简单的方法是将输入类型声明为数字。 <b-form-input type="number"...
最后,对我来说,这可以完成工作:
<input v-on:keydown="onlyNumber($event)" ... />
onlyNumber: function(evt) { //0035621
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode != 46 &&(charCode < 48 || charCode > 57))) {
evt.preventDefault();
} else {
return true;
}
}
如果 keyCode 不用于非数字键,则可以使用 keydown 事件上按下的键的 keyCode 和 perevent 默认行为;
Vue输入组件:
<b-form-input @keydown="onlyNumbers" />
onlyNumbers 方法是:
onlyNumbers(e) {
if((e.keyCode < 48 || e.keyCode > 57) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
相关链接: 数字小键盘的 keyCode 值、 preventDefault 、 Keydown 事件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.