主页 > 前端 > javascript >
来源:自学PHP网 时间:2023-02-02 09:37 作者: 阅读:次
[导读] 这个字符串长度计算函数可以区别如是数字英文长度记为1,中文记为2了,这个适合计算机字符编码原理了,下面看一些实例。...
你早晚会用到的,用CSS来控制文字长度毕竟不是什么需求都能满足,现在后台也不管字符长度截取了,只能用JS来截取字符串了。 /** * 返回字符的字节长度(汉字算2个字节) * @param {string} * @returns {number} */ var getByteLen = function (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; } var sAbc = '1a啊啊22飞3地方a'; var ol = getByteLen(sAbc); alert('直接用length取得的字节长度:' + sAbc.length); alert('通过getByteLen()方法取得的字节长度:' + ol); 通过上面的方法就可以继续写一个截取指定长度的新字符串了,截取掉的部分用…补全: /** * 返回字符的字节长度(汉字算2个字节) * @param {string}{number} * @returns {string} +'...' */ var cutStrForNum = function (str, num) { var len = 0; for (var i = 0; i < str.length; i++) { if (str[i].match(/[^x00-xff]/ig) != null) //全角 len += 2; else len += 1; } if (len >= num) { newStr = str.substring(0, num) + "..."; } return newStr; } var sAbc = '1a啊啊22飞3地方a'; alert(cutStrForNum(sAbc, 3)); 看个实例JS判断字符输入个数 1. $('textarea#txtPrizeNote'); //表示textarea控件名称 2. 'span' 显示剩余字数的标签 HTML: <div> <textarea id="txtPrizeNote" runat="server" height="74px" width="480px" maxlength="10" style="width: 480px; height: 74px; float: left"></textarea> <span style="color: Red;">*</span><br /> 剩余字数:<span id="showmsg" style="color: red"></span> </div> <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判断字符串字节长度(自动识别中英文)全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com