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中几种去掉字串左右空格的方法
Dec 25 Javascript
js下获取div中的数据的原理分析
Apr 07 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
May 30 Javascript
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
js实现格式化金额,字符,时间的方法
Feb 26 Javascript
JavaScript统计网站访问次数的实现代码
Nov 18 Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 Javascript
jQuery simpleModal插件的使用介绍
Aug 30 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 Javascript
Ajax实现局部刷新的方法实例
Mar 31 Javascript
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和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
js的一些常用方法小结
2011/06/29 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
Mac下安装vue
2018/04/11 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
捷克建筑材料网上商店:DEK.cz
2021/03/06 全球购物
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
医院总经理职责
2013/12/26 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书