![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
// Keep user from entering more than maxLength characters
function doKeyPress(obj, evt) {
maxLength = obj.getAttribute( " maxlength " );
var e = window.event ? event.keyCode: evt.which;
if ((e == 32 ) || (e == 13 ) || (e > 47 )) { // IE
if (maxLength && (obj.value.length > maxLength - 1 )) {
if (window.event) {
window.event.returnValue = null ;
} else {
evt.cancelDefault;
return false ;
}
}
}
}
function doKeyUp(obj) {
maxLength = obj.getAttribute( " maxlength " );
if (maxLength && obj.value.length > maxLength) {
obj.value = obj.value.substr( 0 , maxLength);
}
sr = obj.getAttribute( " ShowLength " );
if (sr) {
// alert((maxLength - obj.value.length));
document.getElementById(sr).innerHTML = " 可填 " + (maxLength - obj.value.length) + " 字 " ;
}
}
// Cancel default behavior and create a new paste routine
function doPaste(obj) {
maxLength = obj.getAttribute( " maxlength " );
if (maxLength) {
var detect = navigator.userAgent.toLowerCase();
if ((window.event) && (detect.indexOf( " safari " ) + 1 == 0 )) { // IE
var oTR = obj.document.selection.createRange();
var iInsertLength = maxLength - obj.value.length + oTR.text.length;
try {
var sData = window.clipboardData.getData( " Text " ).substr( 0 , iInsertLength);
oTR.text = sData;
} catch (err) {}
if (window.event) { // IE
window.event.returnValue = null ;
} else {
// not IE
obj.value = obj.value.substr( 0 , maxLength);
return false ;
}
}
}
}
http://blog.offbeatmammal.com/post/2006/10/26/MaxLength-on-a-Textarea.aspx