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()一章節。
相關文章
- CSS擷取字串後面帶省略號CSS字串
- jQuery字串擷取詳解jQuery字串
- 字串擷取字串
- MySQL 字串函式:字串擷取MySql字串函式
- CSS文字超出長度用省略號替代CSS
- php 擷取中英文混合字串PHP字串
- Linux下的字串擷取詳解Linux字串
- JavaScript 擷取指定指定區間字串JavaScript字串
- Shell中的字串擷取介紹字串
- shell 使用陣列及字串擷取陣列字串
- C#常用字串擷取C#字串
- Swift 4.0 字串擷取,拼接,字串富文字顯示Swift字串
- 字串擷取 slice,substr,substring 的區別字串
- sql常用函式詳解(一)——字串擷取SQL函式字串
- MySQL 字串擷取相關函式總結MySql字串函式
- Javascript之字串擷取函式slice()、substring()、substr()JavaScript字串函式
- 擷取字串字串
- Java String類,字串常量池,建立方法,字串的獲取,擷取,轉換,分割。Java字串
- Golang 字串分割,替換和擷取 strings.SplitGolang字串
- JavaScript 擷取字串JavaScript字串
- 溢位 省略號 …
- /**擷取字串是方法*/字串
- js擷取JS
- python函式教程:Python 字串操作(string替換、擷取等)Python函式字串
- mysql 擷取指定的兩個字串之間的內容MySql字串
- CSS文字加省略號CSS
- postgresql怎麼擷取字串SQL字串
- js獲取字串的位元組數(適合用於多行文字省略號)JS字串
- 前端字型擷取前端
- css超出顯示省略號CSS
- JavaScript擷取字串方式總結JavaScript字串
- PHP擷取html文章PHPHTML
- JavaScript 語句是否省略分號JavaScript
- python 資料處理(字串擷取、()\[]\{}資料型別、{}字典資料取值)Python字串資料型別
- JavaScript 擷取指定長度字串 區分漢字和英文字元JavaScript字串字元
- Linux 從入門到跑路第二十一講 -- 字串擷取Linux字串
- 正規表示式中使用變數擷取某字串前後內容變數字串
- JS切割擷取字串方法總結JS字串