Vue element input组件区分中英文统计长度

接到需求:输入框限字数——10个汉字,或者20个字母

实现逻辑:使用正则表达式判断输入框中文的字符长度,再将剩下的字符长度*0.5,两者相加即可

具体实现如下:

validateTextLength(value) {
      //中文、中文标点、全角字符按1长度,英文、英文符号、数字按0.5长度计算
      let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/g;
      let mat = value.match(cnReg);
      let length = 0;
      if (mat) {
        return (length = mat.length + (value.length - mat.length) * 0.5);
      } else {
        return (length = value.length * 0.5);
      }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 偶尔用Vue写写CMS后台界面,记录一下遇到的不常见的问题。 需求 文本显示长度限制,中文、中文标点、全角字符按1...
    wuuuhaooo阅读 6,555评论 1 2
  • Web网站测试流程和方法(转载) 1测试流程与方法 1.1测试流程 进行正式测试之前,应先确定如何开展测试,不可盲...
    夏了夏夏夏天阅读 1,319评论 0 0
  • 姓名:沈丹萍 公司:宁波大发化纤有限公司 《六项精进》289期学员 组名:反省二组 【日精进打卡163天】 【知~...
    好运到来阅读 156评论 0 0