String.prototype.cut= function(len) {
var val=this; if (val=="undefined") { return ""; }
var cl = 0; len = parseInt(len);
if (val.length<len) return val;
for (var i=0;i<val.length;i++) {
var code = val.charCodeAt(i);
if (code<0 || code>255) { cl+=2 } else { cl++ }
if (cl>len) { return val.substr(0,i==0?i=1:i);}
};
return "";
}
s="人abcde";
alert(s.cut(4))
var val=this; if (val=="undefined") { return ""; }
var cl = 0; len = parseInt(len);
if (val.length<len) return val;
for (var i=0;i<val.length;i++) {
var code = val.charCodeAt(i);
if (code<0 || code>255) { cl+=2 } else { cl++ }
if (cl>len) { return val.substr(0,i==0?i=1:i);}
};
return "";
}
s="人abcde";
alert(s.cut(4))
long offset,
long count,
BSTR *data);Parameters
offset :[in] Offset, in characters, from the beginning of the string. An offset of zero indicates copying from the start of the data.
count :[in] Number of characters to retrieve from the specified offset.
data :[out] Substring to return.
这是substring的用法,我的意见是用编码判断,英文字母的ASCII编码在40~120之间(精确的话要查一下书),先用substring取一个字符,判断它是否在范围内,是就取10个字,否就取20个字。