显示字符串时,经常会截取字符串以避免太长,通常会使用js的substr或substring方法以及字符串的length属性
substr()方法可以从从开始下标开始的字符串中提取指定数量的字符。
substring()方法用于提取字符串中两个指定下标之间的字符。
非汉字字符串的处理很简单,但是汉字长度的属性值是1而不是2,所以处理不是很友好。
例如,你有一个字符串“abcdefg”和“我爱中华人民共和国”
你只想显示五位数的长度,经常操作str=str.substr(0,5);
但是“abcde”和“我爱中文”的宽度不一样,因为中文经常占用2个字节。为了更好地显示,封装了以下函数:
!doctype html lang=' en ' head metacarset=' utf-8 ' title js实现对中英文混合文本溢出的友好拦截/title/head body script/* * * js实现对中英文混合文本溢出的友好拦截* @param文本字符串* @param length拦截length */var zfc={ };zfc . mixtextoverflow=function(text,length){ if(text . replace(/[ u4e 00- u9 fa 5]/g,' aa ')。length=length){ return text } else { var _ length=0 var output text=' ' for(var I=0;一.文本.长度;i ) { if (/[u4e00- u9fa5]/。test(text[I]){ _ length=2 } else { _ length=1 } if(_ length length){ break } else { output text=text[I]} }返回输出文本' .'} } console . log(zfc . mixtextoverflow(' NEW SAT短文学习主题的分析与总结',12))/script/body/html输出结果:
摘要
以上是边肖介绍的中英文混合词溢出的友好拦截功能。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!