js判断字符输入个数校验

来源:互联网 发布:微信网络无法连接1-1 编辑:程序博客网 时间:2024/04/27 20:16
<script type="text/javascript">        //返回val的字节长度        function getByteLen(val) {            var len = 0;            for (var i = 0; i < val.length; i++) {                if (val[i].match(/[^\x00-\xff]/ig) != null) //全角                    len += 2;                else                    len += 1;            }            return len;        }        //返回val在规定字节长度max内的值        function getByteVal(val, max) {            var returnValue = '';            var byteValLen = 0;            for (var i = 0; i < val.length; i++) {                if (val[i].match(/[^\x00-\xff]/ig) != null)                    byteValLen += 2;                else                    byteValLen += 1;                if (byteValLen > max)                    break;                returnValue += val[i];            }            return returnValue;        }        $(function() {            var _area = $('textarea#txtPrizeNote');            var _info = _area.next();            var _max = _area.attr('maxlength');            var _val;            _area.bind('keyup change', function() { //绑定keyup和change事件                if (_info.find('span').size() < 1) {//避免每次弹起都会插入一条提示信息                    _info.append(_max);                }                _val = $(this).val();                _cur = getByteLen(_val);                if (_cur == 0) {//当默认值长度为0时,可输入数为默认maxlength值                    _info.text(_max);                } else if (_cur < _max) {//当默认值小于限制数时,可输入数为max-cur                    _info.text(_max - _cur);                } else {//当默认值大于等于限制数时                    _info.text(0);                    $(this).val(getByteVal(_val,_max)); //截取指定字节长度内的值                }            });        });    </script>


 

改动:字符长度校验公用js

 //校验当前字符长度 //name当前校验字段名称,val当前获取值,max字符最大数 function getByteVal(name,val, max) {     var returnValue = '';     var byteValLen = 0;     for (var i = 0; i < val.length; i++) {         if (val[i].match(/[^\x00-\xff]/ig) != null)             byteValLen += 2;         else             byteValLen += 1;     }     if (byteValLen > max){      return name+ "最大字符数为"+max+"个字符,请重新输入!";     }else{      return "";     } }var deliveryStyle=document.getElementById("softPurchaseInfoVO.deliveryStyle").value; var valiLen=getByteVal("交货方式",deliveryStyle,32); if(valiLen!=""){  alertMsg.warn(valiLen);  return false; }


 

 

 

0 0