
获得徽章 0
- 为啥输出的是5 ?
function getBytesLength(str) {
console.log(str);
var totalLength = 0;
var reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
/* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */
for (var i = 0; i < str.length; i++) {
/* 获取一个字符 */
var temp = str.substring(i, i + 1);
/* 判断是否为中文字符 */
console.log(temp);
console.log(reg.test(temp));
var result = reg.test(temp);
if (result) {
/* 中文字符长度为2 */
totalLength = totalLength + 2;
console.log(totalLength);
}
else {
/* 其他字符长度为1 */
totalLength = totalLength + 1;
}
}
return totalLength;
}
getBytesLength("我是个好人");展开赞过31