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 相关文章推荐
使Ext的Template可以解析二层的json数据的方法
Dec 22 Javascript
JS操作iframe里的dom(实例讲解)
Jan 29 Javascript
jquery实现动静态条形统计图
Aug 17 Javascript
JavaScript表单焦点自动切换代码
Jul 24 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
Bootstrap实现导航栏的2种方式
Nov 28 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
webpack+react+antd脚手架优化的方法
Apr 02 Javascript
layui动态加载多表头的实例
Sep 05 Javascript
对layui中table组件工具栏的使用详解
Sep 19 Javascript
js实现移动端吸顶效果
Jan 08 Javascript
Webpack中SplitChunksPlugin 配置参数详解
Mar 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
自制PHP框架之路由与控制器
2017/05/07 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
9种python web 程序的部署方式小结
2014/06/30 Python
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
NumPy 数组使用大全
2019/04/25 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
Python assert语句的简单使用示例
2019/07/28 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
自我推荐书
2013/12/04 职场文书
校园达人秀策划书
2014/01/12 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
Python jiaba库的使用详解
2021/11/23 Python
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers