最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年03月13日 10:09:00   作者:繼續(xù)去踢波  
這篇文章主要介紹了JS實(shí)現(xiàn)含有中文字符串的友好截取功能,結(jié)合實(shí)例形式分析了JS針對含有中文的字符串截取操作相關(guān)原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下

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

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

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

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

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

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

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

$.String.Substr = function (str, n) {//字符串截取 包含對中文處理
  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ì)工具,都包含對中英文及符號的計(jì)算功能,相信對大家有一定參考借鑒價(jià)值:

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

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

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

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

相關(guān)文章

最新評論

巴彦县| 岢岚县| 栾城县| 永城市| 隆林| 崇文区| 淅川县| 衡阳市| 泰安市| 龙川县| 大兴区| 邻水| 清苑县| 桐乡市| 怀柔区| 临高县| 武穴市| 台中市| 偃师市| 繁峙县| 新巴尔虎左旗| 侯马市| 冷水江市| 建湖县| 独山县| 吉木乃县| 高要市| 平利县| 巴彦淖尔市| 镶黄旗| 城步| 洛浦县| 扎赉特旗| 常州市| 乐陵市| 合肥市| 迁西县| 阿拉尔市| 金沙县| 惠来县| 靖宇县|