js一百零一夜之第十二夜-截取字符串和返回其长度(汉字和英文)
来源:互联网 发布:微软软件卸载工具 编辑:程序博客网 时间:2024/06/05 18:55
//返回字符串汉字长度 英文或特殊字符两个相当于一个汉字
/*
*str:传入的字符串
*len:字符串的最大长度
*返回截取的字符串
*/
function getStrChineseLen(str,len){
str = str + "";
var w = 0;
str = str.replace(/[ ]*$/g,"");
if(getStrChineseLength(str)>len){
for (var i=0; i<str.length; i++) {
var c = str.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
w++;
}else {
w+=2;
}
if(parseInt((w+1)/2)>len){
//return str.substring(0,i-1)+"..";
str = str.substring(0,i-1);
str = getStrChineseLength(str)==len?str.substring(0,i-2):str;
return str+"..";
break;
}
}
}
return str;
}
//-----------------------------------------返回汉字的长度
function getStrChineseLength(str){
str = str+"";
str = str.replace(/[ ]*$/g,"");
var w = 0;
for (var i=0; i<str.length; i++) {
var c = str.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
w++;
}else {
w+=2;
}
}
var length = w % 2 == 0 ? (w/2) : (parseInt(w/2)+1) ;
return length;
}
- js一百零一夜之第十二夜-截取字符串和返回其长度(汉字和英文)
- 汉字英文混合字符串 截取指定字符串长度
- C# 按长度截取字符串(区别汉字,英文,数字)
- 汉字和字符串长度判断
- 汉字和字符串长度判断
- 截取指定长度的字符串(UTF-8专用 汉字和大写字母长度算1,其它字符长度算0.5)
- 截取固定长度字符串显示在页面,多余部分显示为省略号(区分汉字和字符)
- 截取固定长度字符串显示在页面,多余部分显示为省略号(区分汉字和字符)
- 截取固定长度字符串显示在页面,多余部分显示为省略号(区分汉字和字符)
- Thinkphp 截取字符串和判断字符串长度
- php混合字符串长度和截取 中英文
- lua中文字符串长度计算和截取
- shell去字符串长度和截取
- C#中文和英文字符串长度问题
- 截取字符串,含有汉字和字母,不能截半个汉字
- JavaScript 计算汉字和英文字符的长度
- JavaScript 计算汉字和英文字符的长度
- js 截取字符串中的汉字
- ZMQ 第二章 ZeroMQ进阶
- 异面直线之间的距离
- NGUI控件说明(中文) UITexture
- 跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式
- EasyBCD建立多系统启动菜单
- js一百零一夜之第十二夜-截取字符串和返回其长度(汉字和英文)
- 解析mysql中:单表distinct、多表group by查询去除重复记录
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- 网友神总结:我们继续用 XP 的十大理由
- Java与Unicode
- mysq的导入导出
- 看我思维导图之UML
- 基于流媒体转发技术的IP视频监控系统分析
- u-boot 移植步骤详解