字符长度:
id为comContext的textArea,内容“12345” 和内容“1234五”
document.getElementById("comContext").value.length都是5,说明长度是根据字符个数来算的
字节长度:
efutils.getTotalBytes = function (str) { if (str == null || str == "") { return 0; } var totalCount = 0; for (i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 127) { totalCount += 2; } else { totalCount++; } } return totalCount; };
正则表达式检测字符串的字节长度:
var lenReg = function(str){
return str.replace(/[^\x00-\xFF]/g,'**').length;
};
java 后台
public static void main(String[] args) {
System.out.println("一".length());
System.out.println("1".length());
System.out.println("一".getBytes().length);
System.out.println("一二".getBytes().length);
System.out.println("1".getBytes().length);
}
结果:
1
1
3
6
1
说明:java字符的获取和前段js代码获取字符长度一样,但是前端一个汉字当2个字节 ,java后台当3个字节。和操作系统的编码方式有关