vue快速限制input框可输入的数字类型(自然数,正整数,小数限制小数点后几位)
- 项目中有许多地方需要限制输入框中的数字,比如只允许输入正整数啦,只允许输入自然数(正整数包括0),小限制小数点位数的需求,这些我们大可以封装一个公共的mixins混合方法放在公共部分,然后给input输入框绑定一个@input事件来调用mixins方法就可以啦。
- 先上代码,开锤开锤,直接莽
方法封装
先在src目录下创建一个mixins文件夹用来放我们的公共方法,然后新建一个checknum.js文件,以下是验证三种数字的方法的代码
export default {
methods: {
/**
* 整数
* @description 情况一:深度改变对象中的数字
* @author LeeYunxiang
* @param {Object} object 数字的父对象
* @param {String} target 要监听的字段
* @param {Number} value 数字
* @description 情况二:改变的仅是data中的数字
* @param {String} target 要监听的字段
* @param {Number} value 数字
* */
checkInt(...arg) {
const reg = /[^0-9$]/g;
if (arg.length === 3) {
let object = arg[0],
target = arg[1],
value = arg[2];
let number = value.replace(reg, "");
this.$set(object, target, number);
} else {
let target = arg[0],
value = arg[1];
let number = value.replace(reg, "");
this.$data[target] = number;
}
},
/**
* 正整数
* @description 情况一:深度改变对象中的数字
* @author LeeYunxiang
* @param {Object} object 数字的父对象
* @param {String} target 要监听的字段
* @param {Number} value 数字
* @description 情况二:改变的仅是data中的数字
* @param {String} target 要监听的字段
* @param {Number} value 数字
* */
checkPositive(...arg) {
if (arg.length === 3) {
let object = arg[0],<