JS code that restricts textbox or textarea input character length

  • 2020-03-26 21:30:40
  • OfStack

 
<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> 

Then set two properties of the multi-line textbox or textarea.
Onkeypress = "javascript: setMaxLength (this, 100);" Onpaste = "limitPaste (this, 100)." "
Now, you can automatically distinguish between Chinese and English, this is a good plan for everyone to share

Related articles: