擷取中文字串的js方法

2021-07-09 11:35:57 字數 917 閱讀 4658

有時在顯示某段文字的時候,可能會太長,影響我們頁面的顯示效果。如果僅是英文,那麼我們可以用string.substring(start, end)函式就已經夠用了。但是通常我們都會遇到既有英文,又有漢字的情況。而漢字是占用2個位元組的,如果用string.substring(start, end)擷取字串的話,會發現漢字擷取後比英文擷取後個數雖然相同,但是長度還是長出去不少(具體要視字元個數來決定)。

為了解決這個問題昨天寫了根據位元組數擷取字串的函式。

具體使用很簡單,跟string.substring(start, end)一樣使用就可。比如:var str = "誒必塞第衣愛撫即"; var str1 = str.subchstr(2, 2); var str2 = str.subchstring(2, 4); alert(str1 + " == " + str2);

列印結果:

//計算字串長度

string.prototype.strlen = function()

return len;

}//將字串拆成字元,並存到陣列中

string.prototype.strtochars = function()

string.prototype.charsarray = chars;

return chars;

}//判斷某個字元是否是漢字

string.prototype.ischs = function(i)

//擷取字串(從start位元組到end位元組)

string.prototype.subchstring = function(start, end)

return str;

}//擷取字串(從start位元組擷取length個位元組)

string.prototype.subchstr = function(start, length)

PHP擷取中文字串方法

程式一 php擷取中文字串方法 由於 首頁以及vtigercrm裡經常在擷取中文字串時出現亂碼 使用substr 今天找到乙個比較好的擷取中文字串方法,在此與大家共享。function msubstr str,start,len else echo newstr 程式二 php擷取utf 8字串,解...

php 擷取中文字串方法

擷取中文字串函式 param str 需要擷取的字串 param start 開始擷取的位置 param length 擷取的長度 return 此函式返回的是乙個陣列,因此要配合join函式來顯示字串 join substring utf8 str,start,lenth public funct...

golang擷取中文字串

1.問題 在golang中可以通過切片擷取乙個陣列或字串,但是當擷取的字串是中文時,可能會出現的問題是 由於中文乙個字不只是由乙個位元組組成,所以直接通過切片可能會把乙個中文字的編碼截成兩半,結果導致最後乙個字元是亂碼。例如 想要擷取前四個字 fmt.println name 4 name 4 執行...