限制输入框字符数(中英文区分)


满足复制粘贴时的字符判断,中文输入时判断;

使用: vue、element-ui

<el-input type="textarea" v-model="versionForm.notes" v-on:input="checkLength(versionForm.notes)"></el-input>

限制方法:

// 判断版本更新内容输入字节是否大于500
checkLength(data) {
    const REG_CHINESE = /[\u4e00-\u9fa5]/g;
    if (data) {
        const chineseLength = data.match(REG_CHINESE) ? data.match(REG_CHINESE).length : 0;
        const charLength = data.match(REG_NOT_CHINESE) ? data.match(REG_NOT_CHINESE).length : 0;
        let total = chineseLength * 2 + charLength;
        if (total > 500) {
            let count = 0;
            let copyData = data.slice(0);
            while (total > 500) {
                count ++;
                const isChinese = /[\u4e00-\u9fa5]/.test(copyData.charAt(copyData.length - 1));
                copyData = copyData.slice(0, -1);
                total = isChinese ? total - 2 : total - 1;
             }
            this.$nextTick(() => {
                this.versionForm.notes = data.slice(0, - count);
            })
        }
   }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM