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

2019-03-04  本文已影响0人  cafei

接到需求:输入框限字数——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);
      }
    }
上一篇 下一篇

猜你喜欢

热点阅读