jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)


Posted in Javascript onOctober 15, 2010

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>
Javascript 相关文章推荐
JS+DIV实现鼠标划过切换层效果的实例代码
Nov 26 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
May 18 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
jquery实现页面加载效果
Feb 21 Javascript
Jquery EasyUI $.Parser
Jun 02 jQuery
详解如何去除vue项目中的#——History模式
Oct 13 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
Aug 02 Javascript
vue实现在线翻译功能
Sep 27 Javascript
微信内置浏览器图片查看器的代码实例
Oct 08 Javascript
vue实现树状表格效果
Dec 29 Vue.js
jQuery实现手风琴特效
Jan 11 jQuery
jquery 元素相对定位代码
Oct 15 #Javascript
JQuery小知识
Oct 15 #Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 #Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 #Javascript
js限制文本框为整数和货币的函数代码
Oct 13 #Javascript
javascript中&quot;/&quot;运算符常见错误
Oct 13 #Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 #Javascript
You might like
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
javascript如何实现create方法
2019/11/04 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
vue项目中播放rtmp视频文件流的方法
2020/09/17 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python利用Guetzli批量压缩图片
2017/03/23 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
django和flask哪个值得研究学习
2020/07/31 Python
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
自动化专业本科毕业生求职信
2013/10/20 职场文书
中央空调节能方案
2014/06/15 职场文书
交通志愿者活动总结
2014/06/27 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL