﻿// JScript 文件
String.prototype.len=function(){ 
return this.replace(/[^\x00-\xff]/g,"**").length; 
} 

var globalStr=""; 

//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) 
{ 
alert("输入超出"+length+"个字符"); 
//object.value=globalStr; 
tt=tt.substr(0,tt.length-1); 
object.value=tt; 
} 
else 
{ 
globalStr= 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);


