預設的擷取字串都是根據字元長度或位置擷取的,典型的兩個方法是substr和substring。
這樣導致的問題是擷取同樣長度的字串時,多位元組字元(漢字等)和單位元組字元(半形英文本母、半形數字)佔的位置長度差距較大,視覺上不太美觀,比如同樣是10個字元:
壹貳叄肆伍陸柒捌玖拾好了,上**了,下面是自己寫的根據指定位元組長度擷取字串的函式:abcdefghih
/*編碼這東西一直讓人挺害怕的,總覺得迷迷糊糊的,**中有不對的地方歡迎指正,或者有什麼現成的函式或更簡單的方法也請大牛指點一下。* param str 要擷取的字串
* param l 要擷取的位元組長度,注意是位元組不是字元,乙個漢字兩個位元組
* return 擷取後的字串 */
function
cutstr(str,l)
for(var i=0,j=0;i)else
if(j<=l)
else
}}//
用例alert(cutstr("測試1字串哈哈哈哈",10));
alert(cutstr("abcdefghigklmn",10));
謝謝
js擷取指定位元組長度的字串 jquery
擷取指定位元組長度的字串 注 半形長度為1,全形長度為2 str 字串 len 擷取長度 return 擷取後的字串及是否擷取的標記 擴充套件用 code 1 字串截斷 code 0 字串未截斷 function cutstrbyte str,len var code 1 預設返回code值,已截斷...
擷取相同位元組長度的字串
做這個主要是為了在echarts圖的xy軸上實現溢位隱藏並省略的作用。乙個中文字元 2位元組 例 abs 乙個英文本元 1位元組 例 視覺化 相同字元長度對應的實際長度是不一樣的,不能用簡單的substring取出相同物理長度的字串 例 取8位元組長度字串 思路首先新增string原型方法 這個是從...
擷取指定長度的字串
函式說明 擷取指定長度的字串 utf 8專用 漢字和大寫字母長度算1,其它字元長度算0.5 param string str 原字串 param int len 擷取長度 param string etc 省略字元.return string 擷取後的字串 if function exists re...