vue中解决el-input只能输出大于0的整数

基本思路为:将input输出的字符值宰割成数组,而后遍历数组,同时进行正则校验及非凡状况解决。欢送斧正

limit-fuction.js文件

 export default {   /**     * 只能输出大于0的正整数(不能以0结尾)     * @param {string} value     * @returns {string | number} 返回空字符或数字     */    integerFn(value) {        let reg = /[1-9]{1}[0-9]*$/;        let strArray = value.split("");        let newStrs = "";        for (let i = 0; i < strArray.length; i++) {            if (reg.test(strArray[i])) {                newStrs += strArray[i];            } else if (i > 0 && strArray[i] === "0") {                newStrs += strArray[i];            }        }        if (newStrs - 0 > 0) {            return newStrs - 0;        } else {            return "";        }    }};

main.js文件

// 将限度函数文件绑定到vue原型上,供全局应用import limit from "./utils/limit-fuction";Vue.prototype.$limit = limit;

vue组件中应用:

 <el-input v-model="signValue" @input="(e) => (signValue = $limit.integerFn(e))"></el-input>