91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS實現中英文混合文字溢出友好截取功能

發布時間:2020-08-28 18:21:10 來源:腳本之家 閱讀:179 作者:抖音 欄目:web開發

在顯示字符串的時候,避免字符串過長往往會對字符串進行截取操作,通常會用到js的 substr 或者 substring方法, 以及 字符串的length屬性

substr() 方法可在字符串中抽取從 start 下標開始的指定數目的字符。

substring() 方法用于提取字符串中介于兩個指定下標之間的字符。

對于非中文的字符串處理是很簡單的,但是中文字符的 length  屬性值 是1  而不是 2 ,所以處理就不是很友好了。  

例如  你有一個字符串   'abcdefg' 和   '我愛中華人民共和國'

你只想顯示五位長度,往往會這樣操作  str = str.substr(0, 5);

但是 'abcde '與 '我愛中華人' 所占的寬度是不同的,因為中文往往占2字節, 為了顯示效果更好, 特封裝如下函數:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>JS實現中英文混合文字溢出友好截取功能</title>
</head>
<body>
<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>
</body>
</html>

 輸出結果:

JS實現中英文混合文字溢出友好截取功能

總結

以上所述是小編給大家介紹的JS實現中英文混合文字溢出友好截取功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金沙县| 元氏县| 论坛| 墨脱县| 隆安县| 南乐县| 萍乡市| 依安县| 海原县| 贺州市| 板桥市| 福鼎市| 湛江市| 邢台市| 龙岩市| 惠水县| 隆德县| 抚远县| 余姚市| 江永县| 余江县| 日照市| 吉首市| 樟树市| 柳林县| 墨竹工卡县| 淅川县| 通辽市| 巴南区| 苏尼特右旗| 金秀| 兴山县| 东宁县| 台江县| 突泉县| 彭山县| 康保县| 南澳县| 准格尔旗| 永福县| 丹巴县|