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 相关文章推荐
jquery实现的超出屏幕时把固定层变为定位层的代码
Feb 23 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
Jan 03 Javascript
js汉字转拼音实现代码
Feb 06 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
Node.js实现的简易网页抓取功能示例
Dec 05 Javascript
jquery判断当前浏览器的实现代码
Nov 07 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
May 15 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
BootStrap selectpicker后台动态绑定数据
Jun 01 Javascript
Node.js+Express+MySql实现用户登录注册功能
Jul 10 Javascript
详解javascript常用工具类的封装
Jan 30 Javascript
微信小程序分包加载代码实现方法详解
Sep 23 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中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
python实现抖音点赞功能
2019/04/07 Python
eclipse创建python项目步骤详解
2019/05/10 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Python调用飞书发送消息的示例
2020/11/10 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
区域销售经理岗位职责
2013/12/10 职场文书
煤矿安全协议书
2014/08/20 职场文书
2014年教研室工作总结
2014/12/06 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs