英文字母及数字每一个所占的字节数为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)
?