jsを使用して文字列のバイト長を決定します(漢字と英語を区別するため)@莫成尘

最初にコードを見て、それをコピーして使用するだけです。これは、より一般的に使用されるシナリオです。漢字は2文字として扱われ、文字と数字は1文字として扱われ、繁体字中国語の文字は3文字として扱われます。

満足したら、MoChengchenにスターを付けてください

これは名前付き関数です

	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

もちろん、矢印関数に変更して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: '取消输入'
          })
        })

他の関連する質問はメッセージを残すことができます。

おすすめ

転載: blog.csdn.net/weixin_47821281/article/details/111032422