您的位置:首页 > Web前端 > JavaScript

JS限制textbox或textarea输入字符长度

2013-10-16 05:38 781 查看
<script language=javascript>

<!--

String.prototype.len=function(){

return this.replace(/[^\x00-\xff]/g,"**").length;

}

//Set maxlength for multiline TextBox

function setMaxLength(object,length)

{

var result = true;

var controlid = document.selection.createRange().parentElement().id;

var controlValue = document.selection.createRange().text;

if (controlid == object.id && controlValue != "")

{

result = true;

}

else if (object.value.len() >= length)

{

result = false;

}

if (window.event)

{

window.event.returnValue = result;

return result;

}

}

//Check maxlength for multiline TextBox when paste

function limitPaste(object,length)

{

var tempLength = 0;

if(document.selection)

{

if(document.selection.createRange().parentElement().id == object.id)

{

tempLength = document.selection.createRange().text.len();

}

}

var tempValue = window.clipboardData.getData("Text");

tempLength = object.value.len() + tempValue.len() - tempLength;

if (tempLength > length)

{

tempLength -= length;

//alert(tempLength);

//alert(tempValue);

var tt="";

for(var i=0;i<tempValue.len()-tempLength;i++)

{

if(tt.len()<(tempValue.len()-tempLength))

tt=tempValue.substr(0,i+1);

else

break;

}

tempValue=tt;

window.clipboardData.setData("Text", tempValue);

}

window.event.returnValue = true;

}

//-->

</script>

然后设多行的textbox或textarea的2个属性.

onkeypress="javascript:setMaxLength(this,100);" onpaste="limitPaste(this, 100)"

现在好了,可以自动区分中英文了,这个方案不错,供大家分享
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 限制text长度