手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JS TextArea字符串长度限制代码集合
JS TextArea字符串长度限制代码集合
摘要:复制代码代码如下:textAreaLimit("t",{lastMsgLabel:"b2"})functiontextAreaLimit(a...

复制代码 代码如下:

<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 主要是在红线中间的代码。

思路就是中断日语的输入状态。

用如果输入超出时能忍受弹窗的话,就用方案②,否则的话就用方案①。

【JS TextArea字符串长度限制代码集合】相关文章:

javascript动态设置样式style实例分析

Jquery解析json字符串及json数组的方法

实现DIV圆角的JavaScript代码

JavaScript版代码高亮

VBScript版代码高亮

免费空间广告万能消除代码

JS对字符串编码的几种方式使用

在JavaScript中处理字符串之link()方法的使用

Node.js中JavaScript操作MySQL的常用方法整理

JSON字符串和对象之间的转换详解

精品推荐
分类导航