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 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
jquery 插件开发 extjs中的extend用法小结
Jan 04 Javascript
JS常用字符串方法(推荐)
Jan 15 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
Oct 10 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
Nov 28 Javascript
通过npm引用的vue组件使用详解
Mar 02 Javascript
Vue获取DOM元素样式和样式更改示例
Mar 07 Javascript
jqgrid实现简单的单行编辑功能
Sep 30 Javascript
微信小程序实现图片上传、删除和预览功能的方法
Dec 18 Javascript
详解Node.js模板引擎Jade入门
Jan 19 Javascript
javascript合并两个数组最简单的实现方法
Sep 14 Javascript
小程序点击图片实现png转jpg
Oct 22 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
2014国培学习感言
2014/03/05 职场文书
设计顾问服务计划书
2014/05/04 职场文书
庆七一宣传标语
2014/10/08 职场文书
优秀员工推荐材料
2014/12/20 职场文书
班主任寄语2015
2015/02/26 职场文书
团日活动总结格式
2015/05/11 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android