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

首頁 > 編程 > JavaScript > 正文

JS實(shí)現(xiàn)含有中文字符串的友好截取功能分析

2019-11-19 17:10:42
字體:
供稿:網(wǎng)友

本文實(shí)例講述了JS實(shí)現(xiàn)含有中文字符串的友好截取功能。分享給大家供大家參考,具體如下:

在顯示字符串的時(shí)候,避免字符串過長往往會(huì)對(duì)字符串進(jìn)行截取操作,通常會(huì)用到j(luò)s 的 substr 或者 substring方法, 以及 字符串的length屬性

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

例如  你有一個(gè)字符串  1234567890   和  一二三四五六七八九零,

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

但是 12345  與 一二三四五 所占的寬度是不同的,因?yàn)橹形耐?字節(jié), 為了顯示效果更好,

故封裝下面的js, 他會(huì)辨別中文字符的 length 為2

$.String.Substr = function (str, n) {//字符串截取 包含對(duì)中文處理  if (str.replace(/[/u4e00-/u9fa5]/g, "**").length <= n) {    return str;  }  else {    var len = 0;    var tmpStr = "";    for (var i = 0; i < str.length; i++) {//遍歷字符串      if (/[/u4e00-/u9fa5]/.test(str[i])) {//中文 長度為兩字節(jié)        len += 2;      }      else {        len += 1;      }      if (len > n) {        break;      }      else {        tmpStr += str[i];      }    }    return tmpStr + " ...";  }};

PS:這里再為大家推薦2款在線字符統(tǒng)計(jì)工具,都包含對(duì)中英文及符號(hào)的計(jì)算功能,相信對(duì)大家有一定參考借鑒價(jià)值:

在線字?jǐn)?shù)統(tǒng)計(jì)工具:
http://tools.VeVB.COm/code/zishutongji

在線字符統(tǒng)計(jì)與編輯工具:
http://tools.VeVB.COm/code/char_tongji

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript遍歷算法與技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 贞丰县| 河东区| 新乡县| 平和县| 上犹县| 康保县| 湘乡市| 永胜县| 伽师县| 吴旗县| 北川| 孟村| 那曲县| 樟树市| 游戏| 西华县| 裕民县| 黄浦区| 田阳县| 阿克陶县| 荔浦县| 台南市| 葫芦岛市| 隆化县| 河北省| 宝鸡市| 海兴县| 普安县| 嘉荫县| 五河县| 盐亭县| 平顺县| 佛山市| 嵩明县| 周至县| 通榆县| 辛集市| 富平县| 山丹县| 丰原市| 门头沟区|