• vue+element项目中过滤输入框特殊字符小结


    可以在main.js中写入方法

    Vue.prototype.validSe = function (value, number = 255) {
    value = value.replace(/[`~*~!@#$%^&*()_-+=<>?:"{}|,./;'\[]·~!@#¥%……&*()——-+={}|《》?:“”【】、;‘’,。、]/g, '').replace(/s/g, "");
    if (value.length >= number) {
    this.$message({
    type: "warning",
    message: `输入内容不能超过${number}个字符`
    });
    }
    return value;
    };

    HTML部分

    <el-input maxlength='15' :value="searchForm.logId" @input='e => searchForm.logId = validSe (e,15)' placeholder="请输入日志ID"></el-input>

    需要将v-model拆分为:value@input

    通过以上方法又扩展出以下方法

    //只能输汉字
    Vue.prototype.chineseOnly = function (value) {
    value = value.replace(/[^u4E00-u9FA5]/g, '');
    return value
    };
    //只能输正整数
    Vue.prototype.idOnly = function (value) {
    value = value.replace(/[^0-9]/g, '');
    return value
    };
    //不允许输汉字
    Vue.prototype.noChineseOnly = function (value) {
    value = value.replace(/[u4E00-u9FA5]/g, '');
    return value
    };
    //逗号和数字
    Vue.prototype.programIdOnly = function (value) {
    value = value.replace(/[^0-9,]/g, '');
    return value
    };
    //数字和回车
    Vue.prototype.idsOnly = function (value) {
    value = value.replace(/[^
    0-9]/g, '');
    return value
    };
    //数值大小限定
    Vue.prototype.numberLimit = function (value) {
    value = value.replace(/[^0-9]/g, '');
    if (value >= 2147483647) {
    this.$message({
    type: "warning",
    message: `最大可输入值为2147483647`
    });
    }
    return value
    };
    // 正整数
    Vue.prototype.onlyPositiveInteger = function (value) {
    value = String(value).match(/[1-9]d*/g, "")
    return value === null ? '' : Number(value[0])
    };
    // 正整数(包含0)
    Vue.prototype.onlyPositiveInteger1 = function (value) {
    console.log(typeof (value));
    
    value = String(value).match(/[1-9]d*|0/g, "")
    return value === null ? '' : Number(value[0])
    };
    // 负整数
    Vue.prototype.onlyNegativeInteger = function (value) {
    value = String(value).match(/^-[1-9]*d*/g, "")
    return value === null ? '' : value[0] === '-' ? '-' : value[0] === '-0' ? '' : Number(value[0])
    };
    // 负整数(包含0)
    Vue.prototype.onlyNegativeInteger1 = function (value) {
    value = String(value).match(/^-[1-9]*d*|0/g, "")
    return value === null ? '' : value[0] === '-' ? '-' : Number(value[0])
    };
    // 整数
    Vue.prototype.onlyInteger = function (value) {
    value = String(value).match(/^-?[1-9]*d*|0/g, '')
    return value === null ? '' : value[0] === '-' ? '-' : value[0] === '' ? '' : Number(value[0])
    };
    // 整数区间
    Vue.prototype.onlySection = function (value, min, max) {
    if (min < 0) {
    value = String(value).match(/-?[1-9]*d*/g, "")
    } else {
    value = String(value).match(/[1-9]*d*/g, "")
    }
    // value = String(value).match(/-?[1-9]*d*/g, "")
    value = value === null ? '' : value[0] === '-' ? '-' : value[0] === '' ? '' : Number(value[0])
    if (value < min) {
    return min
    } else if (value > max) {
    return max
    } else {
    return value
    }
    };
  • 相关阅读:
    leetcode[68] Climbing Stairs
    leetcode[67] Plus One
    17_8_16 接口实例化的方法
    17_8_15 lambda 表达式
    17_8_14 回调函数
    17_8_11 Spring Jdbc+Dbcp
    17_8_10 eclipse 中复制网上代码 出现 报错 问题(0)
    17_8_10 PostgreSql Mac
    17_8_10 项目开发流程
    17_8_9 html 不常用的标签
  • 原文地址:https://www.cnblogs.com/thinkguo/p/11310376.html
Copyright © 2020-2023  润新知