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)

posted @ 2010-06-30 15:48  山村果园  阅读(1283)  评论(6编辑  收藏  举报