限制最大文本输入Js代码
园子里一位兄弟写的JS代码(地址:http://www.cnblogs.com/tintown/archive/2005/02/07/103088.html)
<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; var tempString=object.value; var tt=""; for(var i=0;i<length;i++) { if(tt.len()<length) tt=tempString.substr(0,i+1); else break; } if(tt.len()>length) tt=tt.substr(0,tt.length-1); object.value=tt; } //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; 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; } if(tt.len()<=0) { window.event.returnValue=false; } else { tempValue=tt; window.clipboardData.setData("Text", tempValue); window.event.returnValue = true; } } } function PressLength() { if(event.srcElement.type=="text" || event.srcElement.type=="textarea" ) { if(event.srcElement.length!=null) setMaxLength(event.srcElement,event.srcElement.length); } } function LimitLength() { if(event.srcElement.type=="text" || event.srcElement.type=="textarea" ) { if(event.srcElement.length!=null) limitPaste(event.srcElement,event.srcElement.length); } } document.documentElement.attachEvent('onkeyup', PressLength); document.documentElement.attachEvent('onpaste', LimitLength); //--> </script>
但是这个毕竟是在客户端的,本着“客户不信任”的原则,在服务器端得验证还是少不了的。