关于javascript:elinput只能输入大于0的整数

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>

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理