“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;
}