您的位置:首页 > Web前端 > JavaScript

页面英文字符串和中文字符串的长度计算

2017-02-21 16:00 246 查看
        js校验中判断输入长度功能是不可缺少的,但是在实际的判断中我们需要动态对于英文字符和中文字符进行单独判断(数字占一个字节,英文占一个字节,标点占一个字节,一个汉字占两个字节)。

1.英文的asc码在[0,128]之间

function(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;
};
2.按位与运算

var l = str.length;
var blen = 0;
for(i=0; i<l; i++) {
if ((str.charCodeAt(i) & 0xff00) != 0) {
blen ++;
}
blen ++;
}
3.等值替换法

function(str) {
return str.replace(/[\u0391-\uFFE5]/g,"aa").length;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐