字符长度:
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个字节。和操作系统的编码方式有关
http://zhouchaofei2010.iteye.com/blog/1606873