国产探花免费观看_亚洲丰满少妇自慰呻吟_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實現中英文混合文字溢出友好截取功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临泽县| 获嘉县| 华亭县| 启东市| 水富县| 宜都市| 如东县| 磐安县| 古丈县| 拜城县| 莫力| 包头市| 义乌市| 鹿泉市| 通江县| 南部县| 宜黄县| 托克逊县| 寿阳县| 英吉沙县| 龙岩市| 无极县| 蓬莱市| 和静县| 凤山市| 大港区| 潞城市| 宣城市| 四平市| 岐山县| 延庆县| 庄浪县| 唐河县| 桦甸市| 安塞县| 巨鹿县| 舟山市| 东平县| 四会市| 卫辉市| 林甸县|