获取字符长度以及模拟文本框maxlength实现的功能
1. 方法
/*** * 获取字符长度 * @param val 文本值 * @param max 最大字节数 * @returns */ getByteVal(val, max) { var returnValue = '' var byteValLen = 0 for (var i = 0; i < val.length; i++) { if (val[i].match(/[^\x00-\xff]/gi) != null) byteValLen += 2 else byteValLen += 1 if (byteValLen > max) break returnValue += val[i] } if (byteValLen > max) { return false } else { return true } }, /*** * 将文本框字符长度限制在规定的字节个数内 * @param str 文本值 * @param maxLength 最大字节数 * @returns */ limitValMaxLength(str, maxLength) { let result = [] for (let i = 0; i < maxLength; i++) { let char = str[i] if (/[^\x00-\xff]/gi.test(char)) { maxLength-- result.push(char) } else { result.push(char) } } return result.join('') }
2. 调用
enterEnglishName() { if ( !this.$utils.getByteVal( this.ruleFormEnter.englishName, this.maximumCharacter ) ) { this.isRemarkTips = true this.$set( this.ruleFormEnter, 'englishName', this.$utils.limitValMaxLength( this.ruleFormEnter.englishName, this.maximumCharacter )
)
} else {
this.isRemarkTips = false
}
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号