
//****************************************************************
// Description: sInputString 为输入字符串，iType为类型，分别为
// 0 - 去除前后空格; 1 - 去前导空格; 2 - 去尾部空格
//****************************************************************
function cTrim(sInputString,iType)
{
	var sTmpStr = ' ';
	var i = -1;

	if(iType == 0 || iType == 1)
	{
		while(sTmpStr == ' ')
		{
			++i;
			sTmpStr = sInputString.substr(i,1);
		}
		sInputString = sInputString.substring(i);
	}

	if(iType == 0 || iType == 2)
	{
		sTmpStr = ' ';
		i = sInputString.length;
		while(sTmpStr == ' ')
		{
			--i;
			sTmpStr = sInputString.substr(i,1);
		}
		sInputString = sInputString.substring(0,i+1);
	}
	return sInputString;
}

//****************************************************************
// Description: 验证字符串是否为数字  
// 
//****************************************************************
function isTNumber(str)  
{   
	if(isNaN(str))
		{    
			return  false;  
		}  
	else  
		return  true;        
}

//****************************************************************
// Description: 验证字符串为短日期格式  形如?(2003-12-05)
// 
//****************************************************************
function IsShortDate(str)
{
    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
    if(r==null)return false; 
    var d= new Date(r[1], r[3]-1, r[4]); 
  //  return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    return true;
}

//****************************************************************
// Description: 验证字符串为短时间格式  形如?(13:04:06)
// 
//****************************************************************
function IsShortTime(str)
{
    var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
    if (a == null) return false;
    if (a[1]>24 || a[3]>60 || a[4]>60)
    {
        return false;
    }
    return true;

}

//****************************************************************
// Description: 验证字符串为长时间格式  形如?(2003-12-05?13:04:06)
// 
//****************************************************************
function IsLongDateTime(str)
{
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r == null)return false; 
	var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
	return true;
	//return (d.getFullYear() == r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
} 


//****************************************************************
// Description: 光标停在文字最后
// 调用样例：<input type=text name=text1 value="123" onfocus="cc()"> 
//****************************************************************
function cursorLeaveLast() 
{ 
 var e = event.srcElement; 
 var r =e.createTextRange(); 
 r.moveStart('character',e.value.length); 
 r.collapse(true); 
 r.select(); 
}



//****************************************************************
// Description: 解决TextBox输入长度的问题。对于单行文本框，不管是HTML控件还是Web控件，我们经常会使用MaxLength来控制，但这种控制无法控制到中文字符，即MaxLength=50的控制，可以输入50个英文与50个中文，这样的话，还是会导致中文字符数的溢出。 对于多行文本框，那就更惨了，使用MaxLenth根本不起作用的。
// 调用样例：在需要控制的控件上添加length="n"(n为要控制的字数)即可，如：<INPUT  type="text" length="3">，使用范围：input,textarea,asp:TextBox
//****************************************************************
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); 


//****************************************************************
// Description: 解决TextBox输入长度的问题。对于单行文本框，不管是HTML控件还是Web控件，我们经常会使用MaxLength来控制，但这种控制无法控制到中文字符，即MaxLength=50的控制，可以输入50个英文与50个中文，这样的话，还是会导致中文字符数的溢出。 对于多行文本框，那就更惨了，使用MaxLenth根本不起作用的。
// 调用样例：使用范围：textarea
//****************************************************************
<!--
function textCounter(field, maxlimit) { 
	if (field.value.length > maxlimit) 
		field.value = field.value.substring(0, maxlimit); 
	else 
		document.forms[0].remLen.value = maxlimit - field.value.length;
}

function textCounter1(field, maxlimit) { 
	if (field.value.length > maxlimit) 
		field.value = field.value.substring(0, maxlimit); 
	else 
		document.forms[0].remLen1.value = maxlimit - field.value.length;
}
//-->
