您的位置:首页 > Web前端 > JavaScript

js 获得字符串字符数,截取一定字符的字符串

2013-01-15 11:49 519 查看
//计算字符串长度    方法一:
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.strLen = function() {
var len = 0;//字符串长度
for(var i =0; i < this.length; i++) {
var charStr = this.charAt(i);
if (/^[\u0000-\u00ff]$/.test(charStr)) {//一个字节
len += 1;
} else {
len += 2;
}
}
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){
var charStr = this.charAt(i);
if (/^[\u0000-\u00ff]$/.test(charStr)){
return false;
}
else{
return true;
}
}
//截取字符串(从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);
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: