Use js para determinar la longitud en bytes de una cadena (para distinguir entre caracteres chinos e ingleses) @ 莫 成 尘

Primero mire el código, simplemente cópielo y úselo. Este es un escenario que se utiliza con más frecuencia. Los caracteres chinos se tratan como dos caracteres, las letras y números se tratan como un carácter y los caracteres chinos tradicionales se tratan como tres caracteres.

Si estás satisfecho, dale una estrella a Mo Chengchen

Esta es una función con nombre

	function getByteLength(str = '') {
    
    
	  let len = 0;
	  for (let i = 0; i < str.length; i++) {
    
    
	    if (str.charCodeAt(i) > 127 || str.charCodeAt(i) == 94) {
    
    
	      len += 2;
	    } else {
    
    
	      len++;
	    }
	  }
	  return len;
	}
	console.log(getByteLength('汉字汉字123')) //11

Por supuesto, también se puede cambiar a una función de flecha y usar con elementui

(如果您单独使用需要您自己抽离代码)使用MessageBox 弹框组件

        this.$prompt('这是标题', {
    
    
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          inputPlaceholder: '输入不大于10个字符',//input框的提示
          inputErrorMessage: '字符数量错误或超出限制',//大于10个字符警告
          inputValidator: (value) => {
    
    
            let len = 0
            for (let i = 0; i < value.length; i++) {
    
    
              if (value.charCodeAt(i) > 127 || value.charCodeAt(i) == 94) {
    
    
                len += 2
              } else {
    
    
                len++
              }
            }
            if (len > 10) {
    
    
              return '字符数量错误或超出限制'
            } else if (/\s/.test(value)) {
    
     //不允许输入空格
              return '标题中不允许出现空格'
            }
            return true
          }
        }).then(({
    
     value }) => {
    
    
          if (value) {
    
     //处理value  就是您输入的值
            
          } else {
    
     //实际没什么用
            this.$notify({
    
    
              title: '失败',
              message: '请输入名称',
              type: 'error'
            })
          }
        }).catch(() => {
    
     //取消操作触发的事件
          this.$message({
    
    
            type: 'info',
            message: '取消输入'
          })
        })

Otras preguntas relacionadas pueden dejar un mensaje.

Supongo que te gusta

Origin blog.csdn.net/weixin_47821281/article/details/111032422
Recomendado
Clasificación