日期:2014-05-16  浏览次数:20402 次

js 判断输入内容(主要针对汉字)的字节长度
英文字母及数字每一个所占的字节数为1,但汉字与全角字符所占的字节长度为2,因此,在数据库写操作的时候,假如某字段A设置的长度限制为100,那么,英文字母及数字对应的最大输入个数为100,而汉字及全角字符所对应的最大输入个数为50。所以在提交数据库前做必要的验证是在所难免的。在此,提供一通过js来验证字符串字节长度的方法(用到了正则表达式):

function CheckLength(txtObj) {
var val = txtObj.val();
var valLength = 0;
for (var ii = 0; ii < val.length; ii++) {
var word = val.substring(ii, 1);
if (/[^\x00-\xff]/g.test(word)) {
valLength += 2;
} else {
valLength++;
}
}
if (valLength > 100) {
return false;
} else {
return true;
}
}

注:验证是汉字的正则。

/[^\x00-\xff]/g.test(s)

?