最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jssubstr支持中文截取函数代码(中文是双字节)_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:08:40
文档

jssubstr支持中文截取函数代码(中文是双字节)_javascript技巧

jssubstr支持中文截取函数代码(中文是双字节)_javascript技巧: 代码如下: //得到字符总数function getChars(str) { var i = 0; var c = 0.0; var unicode = 0; var len = 0; if (str == null str == ) { return 0; } len = str.length; for(i = 0; i unico
推荐度:
导读jssubstr支持中文截取函数代码(中文是双字节)_javascript技巧: 代码如下: //得到字符总数function getChars(str) { var i = 0; var c = 0.0; var unicode = 0; var len = 0; if (str == null str == ) { return 0; } len = str.length; for(i = 0; i unico


代码如下:

//得到字符总数
function getChars(str) {
var i = 0;
var c = 0.0;
var unicode = 0;
var len = 0;
if (str == null || str == "") {
return 0;
}
len = str.length;
for(i = 0; i < len; i++) {
unicode = str.charCodeAt(i);
if (unicode < 127) { //判断是单字符还是双字符
c += 1;
} else { //chinese
c += 2;
}
}
return c;
}
function sb_strlen(str) {
return getChars(str);
}
//截取字符
function sb_substr(str, startp, endp) {
var i=0; c = 0; unicode=0; rstr = '';
var len = str.length;
var sblen = sb_strlen(str);
if (startp < 0) {
startp = sblen + startp;
}
if (endp < 1) {
endp = sblen + endp;// - ((str.charCodeAt(len-1) < 127) ? 1 : 2);
}
// 寻找起点
for(i = 0; i < len; i++) {
if (c >= startp) {
break;
}
var unicode = str.charCodeAt(i);
if (unicode < 127) {
c += 1;
} else {
c += 2;
}
}
// 开始取
for(i = i; i < len; i++) {
var unicode = str.charCodeAt(i);
if (unicode < 127) {
c += 1;
} else {
c += 2;
}
rstr += str.charAt(i);
if (c >= endp) {
break;
}
}
return rstr;
}
//调用示例:
function getShortFileName(filename) {
short_filename = filename;
if (sb_strlen(short_filename) > 61) {
short_filename = sb_substr(short_filename, 0, 36) + ' ... ' + sb_substr(short_filename, -20);
}
return short_filename;
}
var chara = 'ni你2好1啊!'
js_self = chara.substr(4);
test = sb_substr(chara,4);
alert("js_self:"+js_self+"ext:"+test);

代码如下:
function mb_strlen(str) {
var len = 0;
for(var i = 0; i < str.length; i++) {
len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? (charset == 'utf-8' ? 3 : 2) : 1;
}
return len;
}


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

文档

jssubstr支持中文截取函数代码(中文是双字节)_javascript技巧

jssubstr支持中文截取函数代码(中文是双字节)_javascript技巧: 代码如下: //得到字符总数function getChars(str) { var i = 0; var c = 0.0; var unicode = 0; var len = 0; if (str == null str == ) { return 0; } len = str.length; for(i = 0; i unico
推荐度:
标签: js 截取 字符串
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top