中文字符串截取的js函数代码
更新时间:2013年04月17日 17:14:27 投稿:mdxy-dxy
有时在显示某段文字的时候,可能会太长,影响我们页面的显示效果,如果仅是英文,那么我们可以用String.substring(start, end)函数就已经够用了,但是通常我们都会遇到既有英文,又有汉字的情况
为了解决这个问题昨天写了根据字节数截取字符串的函数。
复制代码 代码如下:
Code
//计算字符串长度
String.prototype.strLen = function() {
var len = 0;
for (var i = 0; i < this.length; i++) {
if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0) len += 2; else len ++;
}
return len;
}
//将字符串拆成字符,并存到数组中
String.prototype.strToChars = function(){
var chars = new Array();
for (var i = 0; i < this.length; i++){
chars[i] = [this.substr(i, 1), this.isCHS(i)];
}
String.prototype.charsArray = chars;
return chars;
}
//判断某个字符是否是汉字
String.prototype.isCHS = function(i){
if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0)
return true;
else
return false;
}
//截取字符串(从start字节到end字节)
String.prototype.subCHString = function(start, end){
var len = 0;
var str = "";
this.strToChars();
for (var i = 0; i < this.length; i++) {
if(this.charsArray[i][1])
len += 2;
else
len++;
if (end < len)
return str;
else if (start < len)
str += this.charsArray[i][0];
}
return str;
}
//截取字符串(从start字节截取length个字节)
String.prototype.subCHStr = function(start, length){
return this.subCHString(start, start + length);
}
相关文章
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
在项目中我们常用到百度分享插件或者bshare分享插件,虽然官方都有自定义按钮的功能,但是毕竟还是只有少数几种,我们如何来制作有自己特色的分享按钮呢?2014-06-06
JavaScript新功能介绍之findLast()和findLastIndex()
最近工作中遇到了一个关于查找数组里面的目标元素的方法,所以下面这篇文章主要给大家介绍了关于JavaScript新功能之findLast() 和findLastIndex()的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下2022-04-04
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
这篇文章主要介绍了javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法即无法再次打开窗口、第二次打开不了,需要的朋友可以参考下2014-04-04


最新评论