JavaScript 擷取指定長度字串 區分漢字和英文字元
擷取字串是常見操作,比如,往往將新聞標題的長度規定在一個恰當的範圍之內。
此時就需要進行擷取字串的操作,實現方式有多種,可以使用substr()方法。
上述方法有時候並不能完全滿足需求,有時需要區分漢字還是英文字元。
一個英文字元佔據一個位元組,一個漢字佔據兩個位元組。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> function cutString(str, len) { var strlen = 0; var restr = ""; for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 128) { strlen += 2; } else { strlen++; } restr += str.charAt(i); if (strlen >= len) { return restr; } } return restr; } var mystring = "hello,歡迎來到螞蟻部落" var num = 10; alert(cutString(mystring, num)); </script> </head> <body> </body> </html>
以上程式碼可以擷取指定長度的字串,並且能夠區分漢字和英文字元:
一.實現原理:
(1).通過字串length屬性取得字串中字元的數目,此時不區分漢字和英文字元。
(2).然後通過for迴圈來遍歷它們,並利用charCodeAt()方法獲得相應位置字元的ASCII碼值。
(3).英文字元的ASCII碼值最大為127,所以小128即是英文字元,大於128即是漢字。
(4).如果是漢字則strlen值加2,如果是英文字元則加1,並且將相應索引的字元新增到restr中。
(5).最後判斷strlen值是否已經大於等於指定長度,如果為真則返回restr,否則繼續進行for迴圈。
(6).如果直到for迴圈完成也沒有超過指定長度,最後返回該字串。
二.程式碼註釋:
(1).var strlen=0用於儲存每一次for迴圈後字串的長度。
(2).var restr=""用於儲存每一次for迴圈後的字串。
(3).for迴圈用來便利字串中的每一個字元,這裡的字元是不區分中英文的。
(4).if(str.charCodeAt(i)>128)判斷指定字元是英文字元還是漢字,如果是漢字strlen加2,否則加1。
(5).restr+=str.charAt(i);將指定索引的字元新增到restr。
(6).if(strlen>=len)判斷是否已經超過指定長度,超過則返回restr,否則繼續執行for迴圈。
(7).最後一個return rest:如果整個字串長度都沒有超過指定長度,那麼原樣返回。
相關文章
- 如何擷取指定長度字串區分漢字和字元字串字元
- javascript擷取指定長度字串相容中英文JavaScript字串
- js擷取指定字串長度程式碼區分中英文JS字串
- js獲取字串長度區分漢字和英文JS字串
- JavaScript 擷取字串右邊指定長度字元JavaScript字串字元
- JavaScript獲取字串的長度區分漢字JavaScript字串
- JavaScript 擷取指定指定區間字串JavaScript字串
- javascript擷取指定指定區間的字串JavaScript字串
- C#擷取指定長度中英文字串方法C#字串
- 擷取指定長度字串長度程式碼例項字串
- JS判斷字串長度(英文佔1個字元,中文漢字佔2個字元)JS字串字元
- js如何擷取字串右邊指定長度的字元JS字串字元
- JavaScript計算字串的長度區分中英文JavaScript字串
- javascript擷取指定長度字串後面加點程式碼例項JavaScript字串
- ABAP字串操作 擷取字元長度 取位數字串字元
- js實現的擷取指定長度字串程式碼JS字串
- jQuery實現的擷取指定長度字串程式碼jQuery字串
- JavaScript生成指定長度的數字與字母字串JavaScript字串
- PHP字串學習之如何返回漢字或混合字元的長度PHP字串字元
- jQuery擷取字串外掛區分中英文jQuery字串
- js計算字串長度程式碼例項能夠區分中英文字元JS字串字元
- 得到字串 位元組 長度 中文 兩個字元 英文一個字元字串字元
- php 擷取中英文混合字串PHP字串
- 擷取 UTF8 編碼字串從首位元組開始指定寬度 (非長度)字串
- 驗證字串是否包含英文字元、數字或者漢字程式碼例項字串字元
- ***PHP各種編碼的漢字字串擷取PHP字串
- 獲取C/C++字串、字元陣列長度C++字串字元陣列
- C# 校驗字串是否漢字、其他字元,數字或字元C#字串字元
- JavaScript 獲取指定區間的數字JavaScript
- PHP判斷字串-全英文字元-英漢混合-純漢字的簡單方法PHP字串字元
- JavaScript replace()替換字串中指定字元JavaScript字串字元
- JavaScript刪除字串中所有指定字元JavaScript字串字元
- JavaScript 刪除字串中所有指定字元JavaScript字串字元
- JavaScript獲取字串指定索引位置字元JavaScript字串索引字元
- JavaScript刪除字串中的指定字元JavaScript字串字元
- 驗證字串的長度是否在指定的區間字串
- 字串擷取字串
- 寫個方法,找出指定字串中重複最多的字元及其長度字串字元