VUE實現限制輸入框最多輸入15個中文,或者30個英文


vue項目,輸入框限制輸入15個中文,或者30個英文

<input type="text"  v-model="groupName" class="edit-input" ref="groupName"
    @input="changeValue"
    @change="editGroupNameSave(groupInfo.name)" >

      changeValue () {
        let leng = this.validateTextLength(this.groupName)
        if (leng >= 15) {
          this.$refs.groupName.maxLength = leng
        } else {
          this.$refs.groupName.maxLength = 30
        }
      },
      validateTextLength (value) {
        // 中文、中文標點、全角字符按1長度,英文、英文符號、數字按0.5長度計算
        let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/g
        let mat = value.match(cnReg)
        let length
        if (mat) {
          length = (mat.length + (value.length - mat.length) * 0.5)
          return length
        } else {
          return value.length * 0.5
        }
      }

參考: https://www.jianshu.com/p/17edabad526e


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM