国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 13:20:03
字體:
來源:轉載
供稿:網友

在顯示字符串的時候,避免字符串過長往往會對字符串進行截取操作,通常會用到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實現中英文混合文字溢出友好截取功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 碌曲县| 页游| 酒泉市| 嵊州市| 大新县| 玛纳斯县| 汤阴县| 翼城县| 公主岭市| 兴业县| 历史| 巢湖市| 湘潭市| 吉林省| 台山市| 封丘县| 松原市| 巴中市| 全州县| 公主岭市| 民乐县| 布拖县| 砀山县| 内江市| 铜陵市| 盐源县| 沿河| 四会市| 东光县| 桐乡市| 华安县| 高陵县| 漾濞| 防城港市| 武宣县| 故城县| 宝鸡市| 疏附县| 南安市| 都江堰市| 海兴县|