まず、説明
中国の文字列の傍受は2バイト、英数字で、一般的には、撮影しました
中国語や文字が1文字を含む処理、今撮影した文字列によって取られているかどうかのsubstr()
第二に、例:
ABC DEFバイフルーツ
constのテスト= 'AB碧果果DEF' ; console.log(この .SUBSTR(テスト、2、6 ))。 console.log(この .SUBSTR(テスト、0、3))。
第三に、コード
// 文字列遮断プロセスは、中国、切片にSTR必要ストリング、傍受の開始位置、N切片長起動含有 (N、開始、STR)SUBSTRを{ // eslint無効-LINE- IF(str.replace(/ [\ u4e00を- \ u9fa5] / G '**')長さ<= N-){ 戻りSTR; } lenのLET = 0 ; せtmpStr = '' ; のための I <str.length; I ++){(IスタートLETを= // トラバース列 IF(/[\u4e00-\u9fa5]/.test(str[i])){ // 長さは中国の2バイトの LEN + = 2 ; } 他{ LEN + = 1 ; } IF( LEN>N){ ブレーク。 } 他{ tmpStr + = STR [I]。 } } 戻りtmpStrと、 }