首页 > Web开发 > 详细

JS实现中英文混合文字友好截取功能

时间:2021-03-30 20:54:19      阅读:27      评论:0      收藏:0      [点我收藏+]

众所周知,一个汉字等于两个英文字母的长度。那么,从汉字或者英文字母中截取相同长度文字则显示的长度则不一样。此时用户体验会不好。那么怎么解决呢?往下看??

<script>
 /**
  * JS实现中英文混合文字溢出友好截取功能
  * @param text 字符串
  * @param length 截取长度
  */
 var zfc = {};
 zfc.mixTextOverflow = function (text, length) {
  if (text.replace(/[\u4e00-\u9fa5]/g, ‘aa‘).length <= length) {
   return text
  } else {
   var _length = 0
   var outputText = ‘‘
   for (var i = 0; i < text.length; i++) {
    if (/[\u4e00-\u9fa5]/.test(text[i])) {
     _length += 2
    } else {
     _length += 1
    }
    if (_length > length) {
     break
    } else {
     outputText += text[i]
    }
   }
   return outputText + ‘...‘
  }
 }
 console.log(zfc.mixTextOverflow(‘留学NEW SAT essay 题目分析和汇总‘, 12))
</script>

JS实现中英文混合文字友好截取功能

原文:https://www.cnblogs.com/tkey/p/14597524.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!