限制輸入框字符數(中英文區分)


滿足復制粘貼時的字符判斷,中文輸入時判斷;

使用: 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