JS實現中英文混合文字溢位友好擷取功能

2022-06-21 18:24:16 字數 458 閱讀 5891

在顯示字串的時候,避免字串過長往往會對字串進行擷取操作,通常會用到js的 substr 或者 substring方法, 以及 字串的length屬性

substr() 方法可在字串中抽取從 start 下標開始的指定數目的字元。

substring() 方法用於提取字串中介於兩個指定下標之間的字元。
對於非中文的字串處理是很簡單的,但是中文字元的 length  屬性值 是1  而不是 2 ,所以處理就不是很友好了。 

例如  你有乙個字串   'abcdefg' 和   '我愛中華人民共和國'

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

但是 'abcde '與 '我愛中華人' 所佔的寬度是不同的,因為中文往往佔2位元組, 為了顯示效果更好, 特封裝如下函式:

輸出結果:

中英文本元混合處理方法

1,txt檔案匯入sql時 303410001401?600 lang 4 t粵ig?0220?011840628900000?bpo 303410001501?600 landau中er?0220?011840628900000?bpo 303410001601?600 lang 6 t漢ig?0...

中英文本串擷取

substringlength 每行限制文字數量 預設是20個字元 按照英文本元長度來計算,乙個中文字元相當於兩個英文本元 replacecharacter 超出字元代替樣式 預設是 擷取字元 string substring string strinput return resultstr rep...

string中英文本元

在c 中字串類的string的模板原型是basic string template class elem,class traits char traits elem class ax allocator elem class basic string 第乙個引數 elem表示型別。第二個引數trai...