“11一“的长度为4
方法一:
function strLen(value) {
var temlen=0;
var len = 0;
//是终的长度(1个汉字=2个字符)
for(var i=0;i<value.length;i++){
var c = value.substr(i,1);
var ts = escape(c);
if(ts.substring(0,2) == "%u"){
len+=2;
len+=temlen;
temlen=0;
}else if(ts.substring(0,3) == "%0D"){
temlen+=1;
}else if(ts.substring(0,3) == "%0A"){
temlen+=1;
}else if(ts.substring(0,3) == "%20"){
temlen+=1;
}else{
len+=1;
len+=temlen;
temlen=0;
}
}
return len;
}
方法二:
function strLen(str) {
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
}
return realLength;
}