判断字符串是中文还是英文,根据字符串长度给字符串不同的字体大小
作者本次操作场景,打印的时候,字符串过长会挤到下一页打印,所以需要进行处理
1.先给所需要操作的元素节点标签绑定一个动态属性
:style="changeStyle"
2.在data中定义changeStyle的默认值
changeStyle:" font-size:43px"
3.然后对获取到的标签里面的值进行中英文的判断,并且对changeStyle进行重新样式赋值
这里用到了中文和英文的正则表达式进行判断,然后重新赋值
let _this = this
// 中文
var zw = new RegExp("[\u4E00-\u9FA5]+");
// 英文
var yw = new RegExp("[A-Za-z]+");
setTimeout(function(){
var val = _this.$refs.refstyle.innerHTML
console.log(val);
if(zw.test(val)){
//超过10个字的时候字体大小为30px
if(val.length>10){
_this.changeStyle =" font-size:30px"
}
}else if(yw.test(val)){
//超过12个字母的时候字体大小为28px
if(val.length>12){
_this.changeStyle =" font-size:28px"
}
}
},200)
效果图:
有帮助的可以点个关注,之后持续更新基础逻辑知识