大佬们,vue里面 限制input只能输入数字怎么做啊?vue-cli搭建的项目,引入的iview UI框架。
可以参考下面的,目前这个是限制,只能输入数字,小数点只保留2位,限制不能输入空格
<div id="app">
<input type="text" v-model="a" @input="change(a)" />
</div>
<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
<script type="text/javascript">
new Vue({
el: "#app",
data: {
a: ""
},
methods: {
change(val) {
val = val.replace(/(^\s*)|(\s*$)/g, "")
if(!val) {
this.a = "";
return
}
var reg = /[^\d.]/g
// 只能是数字和小数点,不能是其他输入
val = val.replace(reg, "")
// 保证第一位只能是数字,不能是点
val = val.replace(/^\./g, "");
// 小数只能出现1位
val = val.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
// 小数点后面保留2位
val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
this.a = val;
}
}
})
</script>
input 限制数组,不是在 input里面 type设置 number 吗?
或者根据官网
<input v-model.number="age" type="number">
Vue 原生写法 正则内替换你所需要的内容 现在限制的是只能输入数字
<input type="text" v-model="_msg">
//////////////////////////
<script>
export default {
name: "auth",
data(){
return {
msg:''
}
},
computed: {
_msg: {
set: function(value) {
this.msg = value;
},
get: function() {
return this.msg.replace(/[^0-9]+/g,'')
}
}
}
};
</script>
9 回答1.7k 阅读✓ 已解决
6 回答943 阅读
3 回答1.3k 阅读✓ 已解决
4 回答949 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
3 回答856 阅读
3 回答1.3k 阅读✓ 已解决
v-model.number