页面给绑定一个事件 @input = "filterNum"
// 限制输入其他字符
filterNum(e) {
// 键盘事件 过滤其他键位
let numArr = [96, 97, 8,98,99,100,101,102,103,104,105,49,50,51,52,53,54,55,56,57,48];
var time = setTimeout(() => {
if(numArr.indexOf(e.detail.keyCode) !== -1){
// 可以进行操作
// 当第一个是数字但是第二个是汉字的时候还是会输入进来
// 判断第二个是否是汉字 如果是移除
if(e.detail.cursor > 1){
this.selfStrSub(e)
}
this.use_date = parseInt(this.use_date);
}else {
// 过滤一次输入多个中文导致出现问题 (数据传输问题)
if(e.detail.cursor > 1){
this.selfStrSub(e)
}else {
// 只有一个时 直接替换空
this.use_date = '';
}
}
}, 3)
},
// 定义一个方法去替换
selfStrSub(e){
let index = e.detail.cursor -1;
let value = e.detail.value.substr(index, 1);
let valueStr = e.detail.value.toString();
// 循环判断里面的是否全是数字、
let numlen = valueStr.length;
let str_ = ''
for(var i=0; i < numlen; i++){
if(isNaN(parseFloat(valueStr[i]))){ //非数字
}else {
str_ += valueStr[i];
}
}
this.use_date = str_;
}
vueJS 只能输入数字 其他替换空
最新推荐文章于 2024-04-29 16:31:17 发布