九、js实时统计输入的字节数

1、js对输入字节数进行实时统计:输入的字节数不允许超过500
1.1 字节数统计:
function byteLengthCount(varString){
      var len = 0;
        for(var i=0; i<varString.length; i++) 
        {
            //方法用于返回一个从指定位置开始的指定长度的子字符串。
            var c = varString.substr(i,1);
            //escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
            var ts = escape(c);
            //substring 方法用于提取字符串中介于两个指定下标之间的字符
            if(ts.substring(0,2) == "%u") 
            {
                len+=2;//表示一个汉子占2个字节
            } else 
            {
                len+=1;
            }
    }
    return len;
}
备注:可以通过 len+=2;对一个汉子占几个字节进行调整
1.2 html显示
<td>
    <textarea id="otherDesc" name="otherDesc" rows='5'><c:out value='${actionDescList.otherDesc}'/></textarea>
    <div id="result" align="right">您还可以输入500字节</div>
</td>
1.3 实时计算
var length = 500;
//去掉左右空格
function trim(s){
        return s.replace(/(^\s*)|(\s*$)/g, "");
}
function otherDescLengthTest(){
   var otherDesclength=trim(byteLengthCount($("#otherDesc").val()));
   var updateAuditlength=trim(byteLengthCount($("#updateAudit").val()));
   var content_len=updateAuditlength;
   var in_len = length-content_len;
   // 当用户输入的字数大于制定的数时,进行提示
   if(in_len >=0){
      $("#result").html('您还可以输入'+in_len+'字节');
   }else{
           checkResult=false;//表示不允许提交
           alert("...字段超长,请您重新进行修改!");
      $("#result").html('您还可以输入'+in_len+'字节');
   }
};
//keyup() 方法触发 keyup事件(即按钮被松开时),或规定当发生 keyup 事件时运行的函数
$("#otherDesc").keyup(function(){
                 otherDescLengthTest();
});

备注:是否允许提交  onsubmit="return checkNull();" 默认值为true

 

posted @ 2018-01-10 14:30  爱笑的berg  阅读(345)  评论(0编辑  收藏  举报