输入框限定100个汉字或200字符

 

  

  el-form-item(label="消息内容", prop="content")
     el-input( v-model="addPForm.content", :autosize="{ minRows: 3, maxRows: 4}", type="textarea",placeholder="100汉字以内,支持汉字、特殊字符、数字", :disabled="isonCopyClick")

  

  const wordLimit = (rule, value, callback) => {
            const mailzh = /^[\u4E00-\u9FA5]{0,}$/;
            let num = 0;
            if (!value) {
                return callback(new Error('请输入消息内容'));
            }
            for (let i = 0; i < value.length; i++) {
                // 使用正则表达式,判断字符是否为汉字编码
                const matches = mailzh.test(value[i]);
                if (matches) {
                    // 如果是汉字
                    num++; // 则累加
                }
            }
            setTimeout(() => {
                if (num + (value.length - num) / 2 <= 100) { 
                    callback();
                } else {
                    callback(new Error('请输入100汉字或者200字符以内消息内容'));
                }
            }, 100);
        };
 
  
  rules: {
                content: [{ validator: wordLimit, trigger: 'blur' }],
            },
posted @ 2020-08-08 15:00  白白了个白白  阅读(1118)  评论(0编辑  收藏  举报