<script language="javascript"> <br><!-- <br><br>String.prototype.len=function(){ <br>return this.replace(/[^\x00-\xff]/g,"**").length; <br>} <br><br>//Set maxlength for multiline TextBox <br>function setMaxLength(object,length) <br>{ <br>var result = true; <br>var controlid = document.selection.createRange().parentElement().id; <br>var controlValue = document.selection.createRange().text; <br>if (controlid == object.id && controlValue != "") <br>{ <br>result = true; <br>} <br>else if (object.value.len() >= length) <br>{ <br>result = false; <br>} <br>if (window.event) <br>{ <br>window.event.returnValue = result; <br>return result; <br>} <br>} <br><br>//Check maxlength for multiline TextBox when paste <br>function limitPaste(object,length) <br>{ <br>var tempLength = 0; <br>if(document.selection) <br>{ <br>if(document.selection.createRange().parentElement().id == object.id) <br>{ <br>tempLength = document.selection.createRange().text.len(); <br>} <br>} <br>var tempValue = window.clipboardData.getData("Text"); <br>tempLength = object.value.len() + tempValue.len() - tempLength; <br>if (tempLength > length) <br>{ <br>tempLength -= length; <br>//alert(tempLength); <br>//alert(tempValue); <br>var tt=""; <br>for(var i=0;i<tempValue.len()-tempLength;i++) <br>{ <br>if(tt.len()<(tempValue.len()-tempLength)) <br>tt=tempValue.substr(0,i+1); <br>else <br>break; <br>} <br>tempValue=tt; <br>window.clipboardData.setData("Text", tempValue); <br>} <br><br>window.event.returnValue = true; <br>} <br><br>//--> <br></script>
然后设多行的textbox或textarea的2个属性.
onkeypress="javascript:setMaxLength(this,100);" onpaste="limitPaste(this, 100)"
现在好了,可以自动区分中英文了,这个方案不错,供大家分享










