jQuery 擷取字串以省略號替代
本章節介紹一下如何實現擷取字串功能,超出的部分使用省略號替代。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $.fn.extend({ displayPart:function(){ var displayLength=100; displayLength=this.attr("displayLength") || displayLength; var text=this.text(); if(!text) return ""; var result = ""; var count = 0; for(var i = 0; i < displayLength; i++) { var _char = text.charAt(i); if(count >= displayLength) break; if (/[^x00-xff]/.test(_char)) count++; result += _char; count++; } if(result.length < text.length){ result += "..."; } this.text(result); } }); $(function(){ $(".displayPart").displayPart(); }); </script> </head> <body> <div class="displayPart" displayLength="20">螞蟻部落歡迎您,只有努力奮鬥才會有美好的未來。</div> </body> </html>
以上程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).$.fn.extend({}),為jQuery物件例項新增物件。
(2).displayPart:function(){},設定物件的屬性,屬性值是一個函式,實現擷取字串功能。
(3).var displayLength=100,預設的擷取長度為100。
(4).displayLength=this.attr("displayLength") || displayLength,如果設定了擷取長度則使用此值,否則使用預設值。
(5).var text=this.text(),獲取元素中的文字內容。
(6).if(!text) return "",如果文字內容為空則返回一個空字元。
(7).var result = "",此變數用來儲存擷取結果。
(8).var count = 0,此變數用來作為標識,儲存當前字串的長度。
(9).for(var i = 0; i < displayLength; i++),遍歷字串中的字元,displayLength是要擷取的長度。
(10).var _char = text.charAt(i),獲取指定位置的字元。
(11).if(count >= displayLength) break,count的值大於displayLength,就說明超出長度了,於是跳出迴圈。
(12).if (/[^x00-xff]/.test(_char)) count++,判斷當前字元是否是雙位元組的,如果是先將count加1,因為後面還要加1,所以是將雙位元組按照佔2個長度處理。
(13).result += _char,連線字串。
(14).count++,對count進行加1操作。
(15).if(result.length < text.length){result += "...";} ,擷取長度小於字串實際長度,後面跟有省略號。
(16).this.text(result),寫入擷取後的字串。
二.相關閱讀:
(1).attr()參閱jQuery attr()方法一章節。
(2).text()參閱jQuery text()方法一章節。
(3).charAt()參閱JavaScript charAt()方法一章節。
(4).break語句參閱JavaScript break與continue語句一章節。
(5).test()參閱正規表示式test()一章節。
相關文章
- css3實現的擷取字串省略號替代CSSS3字串
- CSS擷取字串後面帶省略號CSS字串
- jQuery字串擷取詳解jQuery字串
- 擷取字串並補充省略號的兩種方法字串
- substr()擷取前5個字元後面省略號的方法字元
- 字串擷取字串
- CSS文字溢位用省略號替代CSS
- PHP字串擷取PHP字串
- 純css實現的擷取字串後面新增省略號程式碼例項CSS字串
- CSS文字超出長度用省略號替代CSS
- php字串擷取函式,支援中文擷取PHP字串函式
- jQuery實現的擷取指定長度字串程式碼jQuery字串
- MySQL 字串函式:字串擷取MySql字串函式
- php中英字串擷取PHP字串
- iOS擷取NSString字串iOS字串
- Mysql字串擷取函式MySql字串函式
- 擷取字串以多行的形式輸出字串
- iOS NSString字串擷取方法iOS字串
- shell 擷取變數的字串變數字串
- JavaScript 擷取指定指定區間字串JavaScript字串
- Shell中的字串擷取介紹字串
- php 擷取中英文混合字串PHP字串
- C#常用字串擷取C#字串
- shell 使用陣列及字串擷取陣列字串
- CSS實現超出文字以省略號顯示CSS
- Swift 4.0 字串擷取,拼接,字串富文字顯示Swift字串
- Linux下的字串擷取詳解Linux字串
- javascript擷取指定指定區間的字串JavaScript字串
- swift 字串學習 (index用法和擷取)Swift字串Index
- iOS擷取特定的字串(正則匹配)iOS字串
- php 如何擷取中文字串PHP字串
- Linux shell指令碼的字串擷取Linux指令碼字串
- jQuery擷取字串外掛區分中英文jQuery字串
- 讓超出的文字以省略號顯示程式碼例項
- sql常用函式詳解(一)——字串擷取SQL函式字串
- 字串擷取 slice,substr,substring 的區別字串
- MySQL 字串擷取相關函式總結MySql字串函式
- js字串擷取函式slice()、substring()、substr()JS字串函式