场景

当我们需要使用 element-ui 来校验长度的时候,可以在前端用其内置的 maxmin 属性来限制。但是我们知道——由于数据库的编码格式的不同,一个汉字在数据库中需要占 2-3 个字节。

假如有一个 name 字段,数据库中设置的长度为64。在 element-ui 中如果用 max:64 的方法对字段进行限制,那么输入64个汉字时,数据库中实际的长度就是 192 ,这显然不是我们想要的。所以,我们需要自定义一个函数,可以满足中英文字符的混合校验,精准地对字段的长度进行限制。

实现

const validLength = function (rule, value, callback) {function getStrLength(str) {// 当数据库编码为一个汉字占3个字节时,把字符中的每个汉字都替换成'xxx'再得出长度return str.replace(/[^x00-xff]/g, 'xxx').length;}if (!value) {callback();} else if (getStrLength(value) <= 64) {callback();} else {return callback(new Error('不能超过 64 个字符'))}
}

明天更新校验函数 validator 的传参与复用

Element UI 中文英文混合字符长度校验相关推荐

  1. Java中英文字母汉字混合字符长度值计算

    Java中英文字母汉字混合字符长度值计算 String string = "phil安卓";Logger.d(string.length());try {String newStr ...

  2. java基础-String字符串字符长度校验

    java基础-String字符串字符长度校验 /*** 校验字符串是否在规定字符数内* @param str* @param maxLength* @return*/ public static bo ...

  3. python分割字符串中文_python 分割中文英文混合字符串的正确方法

    python 里的字符编码不统一导致中英文的处理有不同的结果,下面介绍中文英文混合字符串 split 的方法. 分割词 #!/usr/bin/env python # -*- coding: utf- ...

  4. C#支持中文的格式化字符长度方法

    支持中文的格式化字符长度,自动添加...符号 #region 格式化字符串长度/// <summary>/// 格式化字符串长度/// </summary>/// <pa ...

  5. 中与英文统计字符长度

    我们统计字符长度的什么应该会发现英文(utf-8)和中文(gb2312)的统计长度不统一 下面交大家解决办法 可以使用php函数mb_strlen进行检测,如果你使用utf-8编码的话,就要添加后面的 ...

  6. Java中计算处理中文两个字符长度问题解决(中文2个字符,英文1个字符)

    在java中定义一个 String str="我爱中国"  : str.length()   的长度是4 个字符,但是有时有我们处理文件格式的时候  ,定义固定的长度,中文只计算一 ...

  7. 在vue里面,element ui,el-select表单选中校验失败

    项目场景: 在element 表单中我们需要校验,当表单中有数据变动时,会触发检验. 问题描述 提示:这里描述项目中遇到的问题: 在项目中,提交时下拉菜单没有选,会触发校验提示,去选中下拉菜单的数据, ...

  8. JavaScript表单验证,输入中文时字符长度为2

    获取输入框中的字符长度进行表单验证,当输入英文时字符长度就是1,当输入中文时字符长度为2. 字符数为4~16位, 上图: 一个中文抵两英文. 上代码 1 btn.addEventListener('c ...

  9. Element UI库的入门使用

    Element UI 有的 ul 库在 style 上添加 scoped 后可能会导致自定义样式失效.element ui 可以支持 scoped 多用于管理系统的开发,有明确设计稿的情况下一般不方便 ...

最新文章

  1. 从数组中间位置添加元素:unshift()方法的有一种运用
  2. c语言实训作业总结,c语言程序设计上机实践心得报告
  3. vue aplayer 进度条无法拖动_Vue-rideo-player视频播放插件的使用
  4. Serial Old收集器和Parallel Old收集器
  5. uniapp自定义字体图标、使用阿里矢量图标库
  6. android 安装APP缓存文件在哪,APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了...
  7. 自定义模块上传 npmjs.com 过程
  8. 计算机硬件的组装硬盘,组装电脑如何选择硬盘?DIY装机四种电脑硬盘搭配方案提供参考...
  9. 微信早安推送,26都要骗,笑死了
  10. 微信小程序进行地图导航,地图展示功能
  11. 对比不同子载波数量下的OFDM和FBMC频谱matlab仿真
  12. 系统消息模块的设计原理
  13. 计算机网络的OSI 7层模型
  14. android--多点触控的实现
  15. 计算机化学博士点,一流大学建设高校各学科博士点一览
  16. MicroATX 主板 定位孔位图
  17. 使用PyTorch构建GAN生成对抗网络源码(详细步骤讲解+注释版)01 手写字体识别
  18. 树莓派安装Opencv+Contrib和 QT 详细教程
  19. Arthas性能监控
  20. Win10 WLS 安装docker指南

热门文章

  1. Android的自定义view(UI组件)
  2. 易源数据_易源数据-语音通知【最新版】_语种识别_数据API_CRM-云市场-阿里云
  3. 使用CodeIgniter框架搭建RESTful API服务
  4. NtripShare Mos地铁监测云平台与监测终端盒子架构设计
  5. 机器人核心技术运动规划:让机器人想去哪就去哪
  6. 信息化课堂怎么控屏教学的
  7. Linux系统克隆-Mondo Rescue制作U盘启动及系统恢复
  8. dell r720服务器安装esxi
  9. 深入理解MFCC(梅尔频率倒谱系数)
  10. app运营人员必备工具,让你的数据飞快上涨