怎么设值让input输入框只能接受数字
时间: 2023-10-17 13:56:07 浏览: 170
引用[2]:解决方案:之前的关注点都在input框上面,使用了各种校验的方法,但第一次如果输入的是非数值,会有一个问题这个值会一直在,即使输入框的值是空值,而且还不能输入其他的值。现在使用的框架是ElementUI ,所以就考虑使用框架属性,校验,竟然成功了,贴代码。(具体的是这个框架的校验可以参考官方文档) prop=“id” :rules=“checkNum” 这是必要的 <el-form-item label="id" prop="id" :rules="checkNum"> <el-input v-model.trim="id" placeholder="请输入...." ></el-input> </el-form-item>。
引用[3]:解决问题一条路行不通要寻找有效的方法,换条思路兴许就解决了。 type="number"输入框只能输入数字 先修改一下样式吧 /*input 框的类型number 去除小箭头*/ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none !important; } input[type="number"] { -moz-appearance: textfield; } <el-input type="number" v-model.number="listFilter.activityId" @keydown.native="inputhandle" placeholder="请输入预约组id" ></el-input> //js 方法 inputhandle(e) { let key = e.key; // 不允许输入'e','.'," ","-" if (key === "e" || key === "." || key === " " || key === "-") { e.returnValue = false; return false; } return true; }。
根据引用[2]和引用[3]的解决方案,你可以通过以下两种方法让input输入框只能接受数字:
1. 使用ElementUI框架的校验属性: 在el-input标签中添加prop属性和:rules属性,并在Vue实例中定义checkNum规则,具体代码如下:
```html
<el-form-item label="id" prop="id" :rules="checkNum">
<el-input v-model.trim="id" placeholder="请输入...."></el-input>
</el-form-item>
```
```javascript
data() {
return {
id: ''
}
},
methods: {
checkNum(rule, value, callback) {
if (!value) {
callback(new Error('请输入数字'));
} else if (!/^\d+$/.test(value)) {
callback(new Error('请输入有效的数字'));
} else {
callback();
}
}
}
```
2. 修改样式和添加键盘事件监听: 在el-input标签中添加type="number"属性,并在Vue实例中定义inputhandle方法来限制输入的字符,具体代码如下:
```html
<el-input type="number" v-model.number="listFilter.activityId" @keydown.native="inputhandle" placeholder="请输入预约组id"></el-input>
```
```javascript
data() {
return {
listFilter: {
activityId: ''
}
}
},
methods: {
inputhandle(e) {
let key = e.key;
// 不允许输入'e','.'," ","-"
if (key === "e" || key === "." || key === " " || key === "-") {
e.returnValue = false;
return false;
}
return true;
}
}
```
以上两种方法都可以实现让input输入框只能接受数字的效果。
阅读全文
相关推荐


















