开发过程需要校验前台输入的字符串长度,以保证传到后台的字符串长度不超过数据库字段的限制,当中英文字符混合在一起的时候,采用此种方法可以直接计算字符串实际长度,便于校验过滤!
// UTF8字符集实际长度计算
function getStrLeng(str){
var realLength = 0;
var len = str.length;
var charCode = -1;
for(var i = 0; i < len; i++){
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) {
realLength += 1;
}else{
// 如果是中文则长度加3
realLength += 3;
}
}
return realLength;
}
// GBK字符集实际长度计算
function getStrLeng(str){
var realLength = 0;
var len = str.length;
var charCode = -1;
for(var i = 0; i < len; i++){
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) {
realLength += 1;
}else{
// 如果是中文则长度加2
realLength += 2;
}
}
return realLength;
}
本文介绍了一种计算中英文混合字符串实际长度的方法,分别适用于UTF8和GBK字符集,确保前台输入符合数据库字段长度限制,对于前端开发中字符串校验具有实用价值。
1532

被折叠的 条评论
为什么被折叠?



