Js文本溢出自动添加省略号ellipsis
生活随笔
收集整理的這篇文章主要介紹了
Js文本溢出自动添加省略号ellipsis
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文: ellipsis: function(value, len, word) { //判斷value有沒有超過指定長度 if (value && value.length > len) { //word的作用就是盡量不讓一個完整的單詞被部分省略 if (word) { var vs = value.substr(0, len - 2), //猜測單詞的界限符 index = Math.max(vs.lastIndexOf(' '), vs.lastIndexOf('.'), vs.lastIndexOf('!'), vs.lastIndexOf('?')); //保留一個容忍長度len - 15,過短的話,影響表現(xiàn)效果 if (index !== -1 && index >= (len - 15)) { return vs.substr(0, index) + "..."; } } return value.substr(0, len - 3) + "..."; } return value; } 經(jīng)修改: function ellipsis(val, len, word) {if (val && val.length > len) {if (word) {var vs = val.substr(0, len - 1)var i = Math.max(vs.lastIndexOf(' '), vs.lastIndexOf('.'), vs.lastIndexOf('!'), vs.lastIndexOf('?'))if ( i !== -1 && i >= (len-15) ) {return vs.substr(0, i) + '...'}}return val.substr(0, len) + '...'}return val}
調(diào)用方式:
var aa="你是誰?薩達哈撒";var bb=ellipsis(aa,5);console.log(bb);最簡單方法:
var str = "just a test hello world"; function processStr(str,n) { var l = str.length; if(l<=n) return str; return str.slice(0,n)+"..."; } document.write(processStr(str,14));支持區(qū)別中英文:
<html> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script><body><input type="text" name="username" /> </body> <script type="text/javascript">var GetLength = function (str) {///<summary>獲得字符串實際長度,中文2,英文1</summary>///<param name="str">要獲得長度的字符串</param>var realLength = 0, len = str.length, charCode = -1;for (var i = 0; i < len; i++) {charCode = str.charCodeAt(i);if (charCode >= 0 && charCode <= 128) realLength += 1;else realLength += 2;}return realLength;};//js截取字符串,中英文都能用 //如果給定的字符串大于指定長度,截取指定長度返回,否者返回源字符串。 //字符串,長度 /** * js截取字符串,中英文都能用 * @param str:需要截取的字符串 * @param len: 需要截取的長度 */function cutstr(str, len) {var str_length = 0;var str_len = 0;str_cut = new String();str_len = str.length;for (var i = 0; i < str_len; i++) {a = str.charAt(i);str_length++;if (escape(a).length > 4) {//中文字符的長度經(jīng)編碼之后大于4 str_length++;}str_cut = str_cut.concat(a);if (str_length >= len) {str_cut = str_cut.concat("...");return str_cut;}}//如果給定字符串小于指定長度,則返回源字符串; if (str_length < len) {return str;}} $(function () { $("input[name=username]").bind('keyup', function () {if (GetLength($(this).val()) > 10) { $(this).val(cutstr($(this).val(), 10)); return; } }); }); </script> </html>?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaozhumaopao/p/5891559.html
總結(jié)
以上是生活随笔為你收集整理的Js文本溢出自动添加省略号ellipsis的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于人脸识别的商业大数据13
- 下一篇: 菜单横线样式