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 相关文章推荐
[原创]保存的js无法执行的解决办法
Feb 25 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
javascript 事件处理示例分享
Dec 31 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
jQuery实用密码强度检测
Mar 02 Javascript
详解Vue使用 vue-cli 搭建项目
Apr 20 Javascript
JavaScript中offsetWidth的bug及解决方法
May 17 Javascript
微信小程序之网络请求简单封装实例详解
Jun 28 Javascript
JavaScript实现美化滑块效果
May 17 Javascript
Vue中jsx不完全应用指南小结
Nov 01 Javascript
JS创建或填充任意长度数组的小技巧汇总
Oct 24 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
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
javascript显示选择目录对话框的代码
2008/11/10 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
简单谈谈python中的语句和语法
2017/08/10 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
详解Python的三种可变参数
2019/05/08 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
美国高街时尚品牌:OASAP
2016/07/24 全球购物
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
历史专业大学生职业生涯规划书
2014/03/13 职场文书
小学优秀教师材料
2014/12/15 职场文书
四年级学生期末评语
2014/12/26 职场文书
Python如何配置环境变量详解
2021/05/18 Python
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python