您的位置:首页 > 其它

截取字符串,多余部分用省略号显示

2014-12-17 10:24 316 查看
方法1:CSS实现。

实例如下:

.title { width:200px; white-space:nowrap; word-break:keep-all; overflow:hidden; text-overflow:ellipsis; }


可用span或div引用,例如:

<span class="title">客户端解决标题显示太长省略多余部分并加省略号的样式</span>

<div class="title">客户端解决标题显示太长省略多余部分并加省略号的样式</div>


以上2例显示在超过样式定义的200px宽度后,后面的字符将被...替换.

方法2:jQuery实现。

实例如下:

//超出的文字自动+省略号
jQuery.fn.limit=function(){
var self = $("*[limit]");
self.each(
function(){
var objString = $.trim($(this).text());
var objLength = $.trim($(this).text()).length;
var num = $(this).attr("limit");
if(objLength > num){
$(this).attr("title",objString);
objString = $(this).text(objString.substring(0,num) + "..");
}
}
)
}


方法3:.NET后台实现。

实例如下:

public static string stringformat(string str, int n)
{
///
///格式化字符串长度,超出部分显示省略号,区分汉字跟字母。汉字2个字节,字母数字一个字节
///
string temp = string.Empty;
if (System.Text.Encoding.Default.GetByteCount(str) <= n)//如果长度比需要的长度n小,返回原字符串
{
return str;
}
else
{
int t = 0;
char[] q = str.ToCharArray();
for (int i = 0; i < q.Length && t < n; i++)
{
if ((int)q[i] >= 0x4E00 && (int)q[i] <= 0x9FA5)//是否汉字
{
temp += q[i];
t += 2;
}
else
{
temp += q[i];
t++;
}
}
return (temp + "...");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: