JS TextArea字符串长度限制代码集合


Posted in Javascript onOctober 31, 2012
<html> 
<body> 
<textarea id="t"></textarea> 
<input type="text" id="b2" /> 
<script type="text/javascript"> 
textAreaLimit("t",{lastMsgLabel:"b2"}) 
function textAreaLimit(area,op){ 
var defaultOp = { 
maxLength:10 //最大长度 
, IsNumber:false //只能是数字 
, lastMsgLabel:null //即时显示可输入个数的Input 
, msg:"还可以输入{0}个文字" 
, errorMsg:"文字个数超出最大限制" 
}; 
var label; 
if(typeof area == "string"){ 
area = document.getElementById(area); 
} 
if(!area){ 
return; 
} 
for(var i in op){ 
defaultOp[i] = op[i]; 
} 
if(defaultOp.lastMsgLabel){ 
if(typeof defaultOp.lastMsgLabel == "string"){ 
label = document.getElementById(defaultOp.lastMsgLabel); 
} 
} 
if(defaultOp.IsNumber){ 
area.style.imeMode="Disabled";//IE 
area.onkeydown = function(){ 
return event.keyCode != 229; 
} 
} 
area.onkeyup = function(){ 
if(defaultOp.IsNumber){ 
this.value = this.value.replace(/\D/g,"");//IE之外的 
} 
if(this.value.length > defaultOp.maxLength){ 
//------------------------------------------------------------------------------- 
//方案① 
this.disabled = "disabled"; 
this.value = this.value.slice(0,defaultOp.maxLength); 
this.removeAttribute("disabled"); 
this.focus(); 
//方案② 
//或 
//alert(defaultOp.errorMsg); 
//this.value = this.value.slice(0,defaultOp.maxLength); 
//------------------------------------------------------------------------------- 
} 
if(label){ 
label.value = defaultOp.msg.replace(/\{0\}/,defaultOp.maxLength -this.value.length); 
} 
} 
} 
</script> 
</body> 
</html>

解决输入日语+全角时出现的BUG 主要是在红线中间的代码。
思路就是中断日语的输入状态。
用如果输入超出时能忍受弹窗的话,就用方案②,否则的话就用方案①。
Javascript 相关文章推荐
最短的IE判断代码
Mar 13 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
Jan 15 Javascript
获取表单控件原始(初始)值的方法
Aug 21 Javascript
jquery 快速回到页首的方法
Dec 05 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
May 06 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
May 23 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
angularjs实现下拉列表的选中事件示例
Mar 03 Javascript
js实现年月日表单三级联动
Apr 17 Javascript
微信小程序手势操作之单触摸点与多触摸点
Mar 10 Javascript
JavaScript中各数制转换全面总结
Aug 21 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 Javascript
JS 控件事件小结
Oct 31 #Javascript
jQuery事件 delegate()使用方法介绍
Oct 30 #Javascript
fancybox modal的完美解决(右上的X)
Oct 30 #Javascript
基于jquery自己写tab滑动门(通用版)
Oct 30 #Javascript
基于jquery的滚动条滚动固定div(附演示下载)
Oct 29 #Javascript
使用jquery动态加载javascript以减少服务器压力
Oct 29 #Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
Oct 29 #Javascript
You might like
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PHP STRING 陷阱原理说明
2010/07/24 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
python生成二维码的实例详解
2017/10/29 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
对Python中plt的画图函数详解
2018/11/07 Python
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
通息工程毕业生自荐信
2013/10/16 职场文书
军训 自我鉴定
2014/02/03 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
主要领导对照检查材料
2014/08/26 职场文书
三八妇女节标语
2014/10/09 职场文书
个人求职自荐信范文
2015/03/06 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
vue ref如何获取子组件属性值
2022/03/31 Vue.js