填写表单的时候,经常会遇到对输入的长度进行判断,但是汉字在数据库中占2个字符,
有两种方法:
1. 正则表达式
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null) {
len += 2;
}
else{
len += 1;
}
}
return len;
}
2. 使用字符unicode判断
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var length = val.charCodeAt(i);
if(length>=0&&length<=128){
len += 1;
}
else{
len += 2;
}
}
return len;
}