/****************************************************************************************************************************************/
/*             javascript                                                                       										*/
/*软件版本：                                                                                    										*/
/*功能说明：数据校验                                                                            										*/
/*主要算法：                                                                                    										*/
/*接口说明:                                                                                     										*/
/*          文本框KeyPress事件                  文本框onblur事件                               										*/
/*           EmailKeyPress(),                    EmailExit(strText)            Email地址        										*/
/*           IPAddressKeyPress(strText),         IPAddressExit(strText)        IP地址           										*/
/*           PersonIDKeyPress(strText),          PersonIDExit(strText)         身份证号         										*/
/*           PostCodeKeyPress(strText),          PostCodeExit(strText)         邮编             										*/
/*           PhoneCodeKeyPress(strText,len)      PhoneCodeExit(strText)        电话号码         										*/
/*           PhoneCodeKeyPress(strText,len)      AreaCodeExit(strText)        电话区号           										*/
/*           PhoneCodeKeyPress(strText,len)      DianHuaCodeExit(strText)     不带区号电话号码    										*/
/*           MobileKeyPress(strText),            MobileExit(strText)           手机             										*/
/*           DianHuaKeyPress(strText)            DianHuaExit(strText)          全部电话         										*/
/*           HourMinSecKeyPress(strText),        HourMinSecExit(strText)       时分秒           										*/
/*           YearMonDayKeyPress(strText,len),        YearMonDay_YearExit(strText)    年月日 ,年月 ，年（加入onFocus事件，代码在时间后面）   */
/*           YearMonDayKeyPress(strText,len),        YearMonDay_MonExit(strText)     年月日 ,年月 （加入onFocus事件，代码在时间后面）      */
/*           YearMonDayKeyPress(strText,len),        YearMonDayExit(strText)       年月日 （加入onFocus事件，代码在时间后面）   		*/
/*           YearMonDayKeyPress(strText,len),        YearMonExit(strText)          年月 （加入onFocus事件，代码在时间后面）    			*/
/*           YearMonDayKeyPress(strText,len),        YearExit(strText)             年  （加入onFocus事件，代码在时间后面）      		*/
/*           YearMonDayKeyPress(strText,len),        YearsExit(strText)             年           									    */
/*           YearMonDayKeyPress(strText,len),        MonthExit(strText)         月             									    */
/*           YearMonDayKeyPress(strText,len),        DayExit(strText)              日           									    */
/*           PlusIntKeyPress (strText),          PlusIntExit(strText)          正整数           										*/
/*           PlusIntKeyPress (strText),          DyPlusIntlimitExit(strText,strName,strvalue)大小限制的数字（大于）						*/
/*           PlusIntKeyPress (strText),          XyPlusIntlimitExit(strText,strName,strvalue)大小限制的数字（小于）						*/
/*           PlusIntKeyPress (strText),          JyPlusIntlimitExit(strText,strName,strvalue1，strvalue2) 大小限制的数字（介于）		*/
/*           PlusIntlimitlenKeyPress(strText,len)PlusIntlimitlenExit(strText,len) 位数限制的正整数										*/
/*           NegativeIntKeyPress(strText),       NegativeIntExit(strText)      负整数           										*/
/*           PlusDecimalKeyPress (),             PlusDecimalExit1(strText)  正小数           											*/
/*           PlusDecimalKeyPress (),             DyPlusDecimalExit(strText,strName，strvalue)  大小限制的小数（大于）    				*/
/*           PlusDecimalKeyPress (),             XyPlusDecimalExit(strText,strName，strvalue)  大小限制的小数（小于）     				*/
/*           PlusDecimalKeyPress (),             JyPlusDecimalExit(strText,strName,strvalue1，strvalue2)  大小限制的小数（介于）        */
/*           PlusDecimalKeyPress (),             PlusDecimalExit(strText,len)小数位数限制的小数 										*/
/*           NegativeDecimalKeyPress(),          NegativeDecimalExit(strText,len)  负小数       										*/
/*           NumberKeyPress (),                  NumberExit(strText,len)           全部数值    		    								*/
/*           NumberKeyPress (),					 IsDigit(strText,strName)           	 数字           								*/
/*           URLKeyPress() ,                     URLExit(strText)              URL            		 								    */
/*           PostKeyPress() onkeyup="value=value.replace(/[^\d\,]/g,'')"                                                                */
/* onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d\,]/g,''))"         移动电话（可以输入多个）  */ 
/*                                                                                              										*/
/*           参数“ strText ” 为文本框的name  ,带参数的KeyPress()事件限定文本框的输入长度       										*/      
/*           参数“len”为小数部分的位数                                                          										*/
/*           参数“strvalue”为比较参数                                                        											*/
/*           参数“staName”为文本框使用类型                                                       										*/
/*开发者：2005年6月18日    张恺                                                                 										*/
/****************************************************************************************************************************************/
//a=97 A=65 z=122 Z=90 @=64 .=46 -=45 _=95





/*********************         身份证校验         ***************/

/*********************************************/
/*函数名称：isDate                           */
/*功能说明：验证身份证内出生日期是否有效     */
/*接口说明：出生日期字符串                   */
/*返 回 值：false:失败，出生日期错误。       */
/*          true:成功，出生日期正确。        */
/*开发者：2005年6月18日    张恺              */
/*********************************************/
function isDate(strDate)
{ 
    if(strDate==null)
    {
    	return true;
    }
     
    //判断日期是否符合规则
    var matchArray=strDate.match(/^((\d{2}){1,2})(\d{2})(\d{2})$/);
    if(matchArray==null)
    {
    	return true;
    }
      
    //获取出生日期内的年、月、日
    var year=matchArray[1];
    var month=matchArray[3];
    var day=matchArray[4];
    
    //判断月、日是否超出正确范围
     if( month>12 || month<1 )
     {
     	return true;
     }
     if( day>31 ||day<1 )
     {
     	return true;
     }
     if( day > getDays(year,month) )
     {
     	return true;
     }
     
    return false;
}


/*********************************************/
/*函数名称：getDays                          */
/*功能说明：返回各个月内的天数               */
/*接口说明：年、月                           */
/*返 回 值：各个月内的天数                   */
/*开发者：2005年6月18日    张恺              */
/*********************************************/
function getDays(year,month)
{
    if((month==1)||(month==3) || (month==5)|| (month==7) || (month==8) || (month==10) || (month==12))
    {
    	return 31;
    }
    if(month==4 || month==6 || month==9 || month==11)
    {
    	return 30;
    }
    
    //润年              
    if((year%400==0) || (year%4==0 && year%100!=0))
    {
    	return 29;
    }
    else
    {
    	return 28;
    }
}


/*************************************************/
/*函数名称：JiaoYanMa                            */
/*功能说明：由18位的身份证号计算最后一位校验码   */
/*接口说明：身份证号码                           */
/*返 回 值：校验码                               */
/*开发者：2005年6月18日    张恺                  */
/*************************************************/
function JiaoYanMa(strCard)
{
     if(strCard.length == 15)
     {
     	return false;
     }
     W = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
     A = new Array('1','0','x','9','8','7','6','5','4','3','2');

     var S=0,j=0,len=0;
     len = strCard.length;
     
     //计算校验码
     for( var i=0;i<=16;++i )
     {
     	j = strCard.substring(i,i+1) * W[i];
     	S = S + j;
     }
    
     S = S % 11;     

     if( strCard.substring(len-1,len) == A[S])
     {
         return false;	
     }
     else
     {
     	return true;
     }	
}


/****************************************************/
/*函数名称：PersonIDKeyPress  身份证                */
/*功能说明：判断输入的身份证是否是数字、大小写的x   */
/*          如果输入的有误则取消本次按键            */
/*                                                  */
/*开发者：2005年6月18日    张恺                     */
/****************************************************/
function PersonIDKeyPress(strText)
{
    //设置文本框输入长度
    strText.maxLength = "18";
    
    //获取所按键的代码	
    var sCode = window.event.keyCode;

    if( !(sCode>=48 && sCode<=57) && sCode!=88 && sCode!=120 )
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}


/*******************************************************/
/*函数名称：PersonIDExit 离开时判断                    */
/*功能说明：判断身份证号码是否符合规则，给出提示       */
/*接口说明：身份证文本框名称                           */
/*开发者：2005年6月18日    张恺                        */
/*修改者：2006年2月9日     吴晓春                      */
/*******************************************************/

function PersonIDExit(strText)
{
    //去除首尾的空格
    var strCard = trim( strText);
    
    if(strCard.length == 0)
    {
	return;
    }
   
    //存放身份证号内的日期	
    var ma=null;    
    
    //判断输入的身份证号的位数
    if(strCard.length==15)
    {
        ma=strCard.match(/^\d{6}(\d{6})\d{3}$/);
    }
    else if(strCard.length==18)
    {
        ma=strCard.match(/^\d{6}(\d{8})\d{3}\w$/);
    }
    
    if( ma==null )
    {
	    alert("“身份证”输入不正确，请重新输入!");	
    	strText.focus();
        strText.value="";
     	//strText.select();	
    	return;
    }
    if(isDate(ma[1]))
    {
        alert("“身份证”输入不正确，请重新输入!");	
    	strText.focus();
		strText.value="";
     	//strText.select();  	
    	return;
    }
    if(JiaoYanMa(strCard))
    {
        alert("“身份证”输入不正确，请重新输入!");	
    	strText.focus();
    	strText.value="";
     	//strText.select();	
    }
}




/****************************           eMail地址校验           ********************/

/*******************************************************************/
/*函数名称：EmailKeyPress                                          */
/*功能说明：判断输入的eMail是否是数字、字母、"@"、"."、"_"、"-"、  */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/
function EmailKeyPress()
{
    //获取所按键的代码	    a=97 A=65 z=122 Z=90 @=64 .=46 -=45 _=95
    var sCode = window.event.keyCode;

    if( !(sCode>=48 && sCode<=57) && !(sCode>=97 && sCode<=122) && !(sCode>=65 && sCode<=90) 
    && sCode!=64 && sCode!=46 && sCode!=45 &&sCode!=95 )
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }	
}


/************************************************************/
/*函数名称：EmailExit                                       */
/*功能说明：判断Email是否符合规则 ，给出提示                */
/*接口说明：文本框名称                                      */
/*开发者：2005年6月18日    张恺                             */
/************************************************************/
function EmailExit(strText)
{
	//去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0)
	{
		return;
	}
	var reg = /^[_a-zA-Z\d\-]+@[a-zA-Z\d\-]+(\.[a-zA-Z\d\-]+)+$/ ;

	if ( !reg.test(str))
	{
	    alert("“电子邮箱”输入不正确，请重新输入! ");
		strText.focus();
	    strText.value="";
     	//strText.select();   
	}
}



/*********************         日期校验          **********************/


/*******************************************************************/
/*函数名称：YearMonDayKeyPress                                     */
/*功能说明：判断输入的日期是否是数字                               */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/
function YearMonDayKeyPress(strText,len)
{
    //设置文本框输入长度
    strText.maxLength = len;
     
    //获取所按键的代码	     0=48 9=57
    var sCode = window.event.keyCode;

    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }	
}


/************************************************************/
/*函数名称：YearsExit                                        */
/*功能说明：判断年是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/

function YearsExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {
	    alert("“"+strName+"”输入不正确，请按照“YYYY”格式输入。");
     	strText.focus();
        strText.value="";
     	//strText.select();	
    	return;
     }
    
}
/************************************************************/
/*函数名称：MonthExit                                        */
/*功能说明：判断月份是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/
function MonthExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {
	    alert("“"+strName+"”输入不正确，请按照“MM”格式输入。");
     	strText.focus();
        strText.value="";
     	//strText.select();	
    	return;
     }
	 if(str != "" &&( str>12 || str<1 ))
    {
	    alert("“"+strName+"”输入不正确，请按照“MM”格式输入。");   
     	strText.focus();
        strText.value="";
       //strText.select();
	    return;	
    }
    
}
/************************************************************/
/*函数名称：DayExit                                        */
/*功能说明：判断日是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/
function DayExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {
	    alert("“"+strName+"”输入不正确，请按照“DD”格式输入。");
     	strText.focus();
        strText.value="";
     	//strText.select();	
    	return;
     }
	  if(str != "" &&( str>31 || str<1 ))
    {
	    alert("“"+strName+"”输入不正确，请按照“DD”格式输入。");   
     	strText.focus();
        strText.value="";
       //strText.select();
	    return;	
    }
    
}
/************************************************************/
/*函数名称：YearMonDayExit                                  */
/*功能说明：判断日期是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/

function YearMonDayExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {
	    alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。");
     	strText.focus();
        strText.value="";
     	//strText.select();	
    	return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2]+strDateArray[3];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 8)
    {	
	    alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。");
    	strText.focus();
     	strText.value="";
     	//strText.select();
    	return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    var day = strDateArray[3];
    
    if(month != "" &&( month>12 || month<1 ))
    {
	    alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。");   
     	strText.focus();
        strText.value="";
       //strText.select();
	return;	
    }
    
    if(day != "" && ((day > getDays(year,month)) || (day < 1)))
    {	
		alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。");   
		strText.focus();
    	strText.value="";
     	//strText.select();
		 return;	
    }
    
    strDate = strDateArray[1]+"年"+strDateArray[2]+"月"+strDateArray[3]+"日";  

    //只有年时再次去除结尾的“月”和“日”
    if(strDate.substring(strDate.length-3,strDate.length-2) == "年")
    {
    	strDate = strDate.substring(0,strDate.length-2)
    }
    //只有年、月是去除结尾的“日”
    if(strDate.substring(strDate.length-2,strDate.length-1) == "月")
    {
    	strDate = strDate.substring(0,strDate.length-1)
    } 
    
    //将值附给文本框
    strText.value = strDate;
}

/************************************************************/
/*函数名称：YearMonDay_MonExit                                  */
/*功能说明：判断日期是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/

function YearMonDay_MonExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {	
    	alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”或“YYYYMM”格式输入。");
    	strText.focus();
        strText.value="";
     	//strText.select();
		return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2]+strDateArray[3];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 6 && len != 8)
    {	
    	alert("“"+strName+"”输入不正确，，请按照“YYYYMMDD”或“YYYYMM”格式输入。");
    	strText.focus();
        strText.value="";
     	//strText.select();
		return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    var day = strDateArray[3];
    
    if(month != "" &&( month>12 || month<1 ))
    {
		alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”或“YYYYMM”格式输入。");   
		strText.focus();
		strText.value="";
		//strText.select();
		return;	
    }
    
    if(day != "" && ((day > getDays(year,month)) || (day < 1)))
    {
		alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”或“YYYYMM”格式输入。。");   
		strText.focus();
		strText.value="";
		//strText.select();
		return;	
    }
    
    strDate = strDateArray[1]+"年"+strDateArray[2]+"月"+strDateArray[3]+"日"; 

   //只有年时再次去除结尾的“月”和“日”
    if(strDate.substring(strDate.length-3,strDate.length-2) == "年")
    {
    	strDate = strDate.substring(0,strDate.length-2)
    }
    //只有年、月是去除结尾的“日”
    if(strDate.substring(strDate.length-2,strDate.length-1) == "月")
    {
    	strDate = strDate.substring(0,strDate.length-1)
    } 
    
    //将值附给文本框
    strText.value = strDate;
}


/************************************************************/
/*函数名称：YearMonDayExit                                  */
/*功能说明：判断日期是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/

function YearMonDay_YearExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {
     
    	alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入。");
  		strText.focus();
     	strText.value="";
     	//strText.select();
		return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2]+strDateArray[3];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 4 && len != 6 && len != 8)
    {
    	alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入。");
  		strText.focus();
        strText.value="";
       //strText.select();
	    return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    var day = strDateArray[3];
    
    if(month != "" &&( month>12 || month<1 ))
    {
		alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入。");   
		strText.focus();
		strText.value="";
		//strText.select();
		return;	
    }
    
    if(day != "" && ((day > getDays(year,month)) || (day < 1)))
    {
		alert("“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入。");   
		strText.focus();
		strText.value="";
		//strText.select();
		return;	
    }
    
    strDate = strDateArray[1]+"年"+strDateArray[2]+"月"+strDateArray[3]+"日"; 
    
	//只有年时再次去除结尾的“月”和“日”
    if(strDate.substring(strDate.length-3,strDate.length-2) == "年")
    {
    	strDate = strDate.substring(0,strDate.length-2)
    }
    //只有年、月是去除结尾的“日”
    if(strDate.substring(strDate.length-2,strDate.length-1) == "月")
    {
    	strDate = strDate.substring(0,strDate.length-1)
    }  
    
    
    //将值附给文本框
    strText.value = strDate;
}

/************************************************************/
/*函数名称：YearMonExit                                  */
/*功能说明：判断日期是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/

function YearMonExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {	
    	alert("“"+strName+"”输入不正确，请按照“YYYYMM”格式输入。");
    	strText.focus();
        strText.value="";
     	//strText.select();
		return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 6)
    {	
    	alert("“"+strName+"”输入不正确，，请按照“YYYYMM”格式输入。");
    	strText.focus();
        strText.value="";
     	//strText.select();
		return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    
    if(month != "" &&( month>12 || month<1 ))
    {
		alert("“"+strName+"”输入不正确，请按照“YYYYMM”格式输入。");   
		strText.focus();
		strText.value="";
		//strText.select();
		return;	
    }  
    strDate = strDateArray[1]+"年"+strDateArray[2]+"月"; 
    
    //将值附给文本框
    strText.value = strDate;
}


/************************************************************/
/*函数名称：YearExit                                        */
/*功能说明：判断日期是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/************************************************************/

function YearExit(strText,strName)
{       
     //去除首尾的空格	
     var str = trim(strText);
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {	
    	alert("“"+strName+"”输入不正确，请按照“YYYY”格式输入。");
    	strText.focus();
        strText.value="";
     	//strText.select();
		return;
     }
   
    var strDate = strDateArray[1];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 4)
    {	
    	alert("“"+strName+"”输入不正确，，请按照“YYYY”格式输入。");
    	strText.focus();
        strText.value="";
     	//strText.select();
		return;
    }
    
    var year = strDateArray[1];  
    strDate = strDateArray[1]+"年"; 
    
    //将值附给文本框
    strText.value = strDate;
}
/************************************************************/
/*函数名称：YearMonDayFocus                                 */
/*功能说明：判断日期是否符合规则 ，给出提示                 */
/*接口说明：文本框名称                                      */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/
function YearMonDayFocus(strText)
{
     //去除首尾的空格	
     var str = trim(strText);
}
/********************************       数值校验       *****************************/


/*******************************************************************/
/*函数名称：NegativeDecimalKeyPress    负小数按键                  */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*          函数使用                                               */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function NegativeDecimalKeyPress()
{
    //获取所按键的代码	    .=46 -=45 0=48 9=57
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57) && sCode!=46 && sCode!=45)
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/************************************************************/
/*函数名称：NegativeDecimalExit  负小数离开                 */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称,标签名称 ，小数位数                  */
/*开发者：2005年6月18日    张恺                             */
/************************************************************/

function NegativeDecimalExit(strText,strName,len)
{
     //去除首尾的空格
     var val = trim(strText)
     
    if(val.length == 0 )//|| strText.value == 0)
    {
    	//strText.value = 0;
	return;
    }
    

  // var reg = /^(\-){0,1}\d{0,}(\.\d{1,3}){0,}$/;    
   //  var reg = "^(\-)\d{0,}(\.\d{1,"+ len +"}){0,}$";
     
      reg = new RegExp("^(\\-)\\d{0,}(\\.\\d{1,"+ len +"}){0,}$");

     
     if( !reg.test(val.toString()) || isNaN(val))// || isLength(val,len))
     {
    	alert("“"+strName+"”输入不正确，请重新输入，要求保留"+len+"位小数。");
		strText.focus();
        strText.value="";
     	//strText.select(); 
     }
     else
     {
     	
     //	if( parseFloat(val) > 0 )
     //	{
     //	    strText.value = "-"+parseFloat(val,10);
      //  }
     //   else
      //  {
      //      strText.value = numberFormat( parseFloat(val,10) , len);
     //   }
     
     strText.value = parseFloat(val,10) ;
     }
}




/*******************************************************************/
/*函数名称：PlusDecimalKeyPress    正小数 按键                     */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*          函数使用                                               */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function PlusDecimalKeyPress()
{
    //获取所按键的代码	    .=46  0=48 9=57
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57) && sCode!=46)
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/************************************************************/
/*函数名称：PlusDecimalExit  正小数离开                     */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，位数                     */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/

function PlusDecimalExit(strText,strName,len)
{
	 //去除首尾的空格
	var val = trim(strText);
	
	if(val.length == 0 )//|| strText.value == 0)
	{
		//strText.value = 0;
		return;
	}	

       var reg = new RegExp("^\\d{0,}(\\.\\d{1,"+ len +"}){0,}$");     // /^\d{0,}(\.\d{1,}){0,}$/;
   
       if( !reg.test(val)  || isNaN(val))//       || isLength(val,len))
       {
       	    alert("“"+strName+"”输入不正确，请重新输入，要求保留"+len+"位小数。");
            strText.focus();
   	        strText.value="";
     	   //strText.select();
   	
       }
       else
       {
   	   // strText.value = numberFormat( parseFloat(val,10) , len);
   	   strText.value = parseFloat(val,10);
       }
}
/************************************************************/
/*函数名称：PlusDecimalExit1  正小数离开                     */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，数值                     */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/

function PlusDecimalExit1(strText,strName)
{
	 //去除首尾的空格
	var val = trim(strText);
	
	if(val.length == 0 )//|| strText.value == 0)
	{
		//strText.value = 0;
		return;
	}	

       var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");     // /^\d{0,}(\.\d{1,}){0,}$/;
   
       if( !reg.test(val)  || isNaN(val))//       || isLength(val,len))
       {
			alert("“"+strName+"”输入不正确，请输入数字");
			strText.focus();
			strText.value="";
			//strText.select();
       }
       else
       {
		   // strText.value = numberFormat( parseFloat(val,10) , len);
		   strText.value = parseFloat(val,10);
       }
}
/************************************************************/
/*函数名称：DyPlusDecimalExit  正小数离开                     */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，数值                     */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/
function DyPlusDecimalExit(strText,strName,strValue)
{
	 //去除首尾的空格
	var val = trim(strText);
	
	if(val.length == 0 )//|| strText.value == 0)
	{
		//strText.value = 0;
		return;
	}	

       var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");     // /^\d{0,}(\.\d{1,}){0,}$/;
   
       if( !reg.test(val)  || isNaN(val) || val<strValue)//       || isLength(val,len))
       {
			alert("“"+strName+"”输入不正确，请输入大于"+strValue+"的数字且数字不能为负数!");
			strText.focus();
			strText.value="";
			//strText.select();	 
       }
       else
       {
   	   // strText.value = numberFormat( parseFloat(val,10) , len);
   	   strText.value = parseFloat(val,10);
       }
}
/************************************************************/
/*函数名称：XyPlusDecimalExit  正小数离开                     */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，数值                     */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/
function XyPlusDecimalExit(strText,strName,strValue)
{
	 //去除首尾的空格
	var val = trim(strText);
	
	if(val.length == 0 )//|| strText.value == 0)
	{
		//strText.value = 0;
		return;
	}	

       var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");     // /^\d{0,}(\.\d{1,}){0,}$/;
   
       if( !reg.test(val)  || isNaN(val) || val>strValue)//       || isLength(val,len))
       {	
			alert("“"+strName+"”输入不正确，请输入小于"+strValue+"的数字且数字不能为负数!");
			strText.focus();
			strText.value="";
			//strText.select();
		}
       else
       {
		   // strText.value = numberFormat( parseFloat(val,10) , len);
		   strText.value = parseFloat(val,10);
       }
}
/************************************************************/
/*函数名称：JyPlusDecimalExit 正小数离开                     */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，数值1，数值2             */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/
function JyPlusDecimalExit(strText,strName,strValue1,strValue2)
{
	 //去除首尾的空格
	var val = trim(strText);
	
	if(val.length == 0 )//|| strText.value == 0)
	{
		//strText.value = 0;
		return;
	}	

       var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");     // /^\d{0,}(\.\d{1,}){0,}$/;
   
       if( !reg.test(val)  || isNaN(val) || val<strValue1 || val>strValue2)//       || isLength(val,len))
       {  	
			alert("“"+strName+"”输入不正确，请输入介于"+strValue1+"至"+strValue2+"之间的数字!");
			strText.focus();
			strText.value="";
			//strText.select();
       }
       else
       {
		   // strText.value = numberFormat( parseFloat(val,10) , len);
		   strText.value = parseFloat(val,10);
       }
}
/*******************************************************************/
/*函数名称：PlusIntKeyPress    正整数按键                          */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*          函数使用                                               */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function PlusIntKeyPress(strText)
{
	//设置文本框输入长度
	//strText.maxLength = "11";
	
    //获取所按键的代码	     0=48 9=57
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/*******************************************************************/
/*函数名称：PlusIntKeyPress    正整数按键                          */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*          函数使用                                               */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function XyPlusIntKeyPress(strText,strValue)
{
	//设置文本框输入长度
	strText.maxLength = strValue.length;
	
    //获取所按键的代码	     0=48 9=57
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}
/************************************************************/
/*函数名称：PlusIntExit  正整数离开                         */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称                          */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/

function PlusIntExit(strText,strName)
{
	 //去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0 )//|| str == 0)
	{
		//strText.value = 0;
		return;
	}
	if( isNaN(str) )
	{
	    alert("“"+strName+"”输入不正确，请输入正整数!");
		strText.focus();
		strText.value="";
   	   // strText.select();
	}
        else
        {
	     strText.value = parseInt(str,10);  
        }   
}


/************************************************************/
/*函数名称：DyPlusIntlimitExit  正整数离开                  */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，数值                     */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/

function DyPlusIntlimitExit(strText,strName,strValue)
{
	 //去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0 )//|| str == 0)
	{
		//strText.value = 0;
		return;
	}
	if( isNaN(str) || str<strValue)
	{
	    alert("“"+strName+"”输入不正确，请输入大于"+strValue+"的数字!");
	    strText.focus();
		strText.value="";
   	    //strText.select();
	}
    else
   {
	     strText.value = parseInt(str,10);  
   }   
}

/************************************************************/
/*函数名称：XyPlusIntlimitExit  正整数离开                  */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，数值                     */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/

function XyPlusIntlimitExit(strText,strName,strValue)
{
	 //去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0 )//|| str == 0)
	{
		//strText.value = 0;
		return;
	}
	if( isNaN(str) || str>strValue)
	{
        alert("“"+strName+"”输入不正确，请输入小于"+strValue+"的数字!");
		strText.focus();
		strText.value="";
   	    //strText.select();
	    
	}
        else
        {
	     strText.value = parseInt(str,10);  
        }   
}
/************************************************************/
/*函数名称：JyPlusIntlimitExit  正整数离开                  */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称 ，标签名称，数值1，数值2             */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/

function JyPlusIntlimitExit(strText,strName,strValue1,strValue2)
{
	 //去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0 )//|| str == 0)
	{
		//strText.value = 0;
		return;
	}
	if( isNaN(str) || str<strValue1 || str>strValue2)
	{
		alert("“"+strName+"”输入不正确,请输入介于“"+strValue1+"”至“"+strValue2+"”之间的数字!");
		strText.focus();
		strText.value="";
   	   // strText.select();
	    
	}
        else
        {
	     strText.value = parseInt(str,10);  
        }   
}

/*******************************************************************/
/*函数名称：PlusIntlimitlenKeyPress    限定位数正整数按键          */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2006年2月9日     吴晓春                                  */
/*******************************************************************/

function PlusIntlimitlenKeyPress(strText,len)
{
	//设置文本框输入长度
	strText.maxLength =len;
	
    //获取所按键的代码	     0=48 9=57
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/************************************************************/
/*函数名称：PlusIntlimitlenExit  正整数离开                 */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称                                      */
/*开发者：2005年6月18日    张恺                             */
/*修改者：2006年2月9日     吴晓春                           */
/************************************************************/

function PlusIntlimitlenExit(strText,strName,len)
{
	 //去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0 )//|| str == 0)
	{
		//strText.value = 0;
		return;
	}
	if( isNaN(str) || str.length>len)
	{
        alert("“"+strName+"”输入不正确，请输入小于"+len+"位的正整数!!");
		strText.focus();
		strText.value="";
   	    //strText.select();
	    
	}
        else
        {
	     strText.value = parseInt(str,10);  
        }   
}
/*******************************************************************/
/*函数名称：NegativeIntKeyPress    负整数按键                      */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*          函数使用                                               */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function NegativeIntKeyPress(strText)
{
	//设置文本框输入长度
	strText.maxLength = "11";
	
    //获取所按键的代码	    .=46 -=45 0=48 9=57
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57) && sCode!=45)
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/************************************************************/
/*函数名称：NegativeIntExit  负整数离开                     */
/*功能说明：判断数值是否符合规则 ，给出提示                 */
/*接口说明：文本框名称                                      */
/*开发者：2005年6月18日    张恺                             */
/************************************************************/

function NegativeIntExit(strText,strName)
{
     //去除首尾的空格
     var str = trim(strText);

     if(str.length == 0 )//|| str == 0)
     {
     	//strText.value = 0;
	return;
     }  
	
    // var reg = /^(\-){0,1}(\d{1,})$/;
     
     //if( !reg.test(str) || isNaN(str) )
     
     if(str.indexOf("-") < 0)
     {
     	  alert("“"+strName+"”输入不正确，请输入负整数!");
		  strText.focus();
		  strText.value="";
     	 // strText.select();
     	  
     	  return ;
     }
     
     if( isNaN(str) )
     {
     	  alert("“"+strName+"”输入不正确，请输入负整数!");
		  strText.focus();
		  strText.value="";
     	  //strText.select();	  
     }
     else
     {
     	//if( parseInt(str) > 0 )
     	//{
     //	    strText.value = "-"+parseInt(str,10);
       // }
       // else
       // {
            strText.value = parseInt(str,10);
      //  }
     }
}



/*******************************************************************/
/*函数名称：NumberKeyPress    全部数值 按键                       */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*          函数使用                                               */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function NumberKeyPress()
{
    //获取所按键的代码	     .=46 -=45 
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/*******************************************************************/
/*函数名称：NumberExit    全部数值 按键                   */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*          函数使用                                               */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function NumberExit(strText,len)
{
     //去除首尾的空格
     var val = trim(strText);
	
     if(val.length == 0 )//|| val == 0)
     {
     	//strText.value = 0;
	return;
     }  
	
     //var minus = null;	
    
     var reg = /^(\-{0,1})(\d{1,})(\.\d{0,}){0,1}$/;
     
     if( !reg.test(val) || isNaN(val) || isLength(val,len))
     {
     	  alert("您输入的数值有误!输入小数时，小数部分可以输入"+len+"为小数!");
		  strText.focus();
     	  strText.value="";
     	  //strText.select();    	  
     }
     else
     {     	
     	if(val.indexOf(".") >= 0)
     	{   	     	
     	    //strText.value = numberFormat(parseFloat(val,10), len);
 	    strText.value = parseFloat(val,10);
     	}
     	else
     	{ 
     	    strText.value = parseInt(val,10);

     	}
     }
}
function IsDigit(strText,strName)
{
	 //去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0 )//|| str == 0)
	{
		//strText.value = 0;
		return;
	}
	if( isNaN(str) )
	{
        alert("“"+strName+"”输入不正确，请输入数字!");
		strText.focus();
   	    strText.value="";
     	//strText.select();
	}
       
}



/****************************      IP地址校验      ***********************/

/*******************************************************************/
/*函数名称：IPAddressKeyPress    IP地址 按键                       */
/*功能说明：判断输入的是否是数字 、.                               */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/

function IPAddressKeyPress(strText)
{
    //设置文本框输入长度
    strText.maxLength = "15";
    
    //获取所按键的代码	  a=97 A=65 z=122 Z=90 @=64 .=46 -=45 _=95   
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57) && sCode!= 46)
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/********************************************************************/
/*函数名称：IPAddressExit  IP地址 离开                              */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2005年6月18日    张恺                                     */
/*修改者：2006年2月9日     吴晓春                                   */
/********************************************************************/
function IPAddressExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     if(str.length == 0)
     {
     	return;
     }
     var reg = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
  
     if(!reg.test(str))
     {
	 	alert("“IP地址”输入不正确，请重新输入!");
     	strText.select();
        strText.value="";
     	strText.select(); 
    }
	

}




/****************************      邮政编码校验      **********************/


/*******************************************************************/
/*函数名称：PostCodeKeyPress    邮政编码 按键                      */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/
function PostCodeKeyPress(strText)
{
    //设置文本框输入长度
    strText.maxLength = "6";
    
    //获取所按键的代码	     
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}
function PostKeyPress()
{

    //获取所按键的代码	     
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57) && sCode!=44)
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}
/********************************************************************/
/*函数名称：PostCodeExit  邮政编码 离开                             */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2005年6月18日    张恺                                     */
/********************************************************************/

function PostCodeExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     if(str.length == 0)
     {
     	return;
     }
     var reg = /^\d{6}$/;
     
     if(!reg.test(str))
     {
        alert("“邮编”输入不正确,请重新输入!");	
     	strText.focus();
		strText.value="";
     	  //strText.select();    	
     }	
}


/****************************      手机号码校验      **********************/


/*******************************************************************/
/*函数名称：MobileKeyPress    手机号码 按键                        */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*修改者：2006年2月9日     吴晓春                                  */
/*******************************************************************/
function MobileKeyPress(strText)
{
    //设置文本框输入长度
    strText.maxLength = "12";
    
    //获取所按键的代码	     
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/********************************************************************/
/*函数名称：MobileExit  移动电话 离开                               */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2005年6月18日    张恺                                     */
/*修改者：2006年2月9日     吴晓春                                   */
/********************************************************************/

function MobileExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     if(str.length == 0)
     {
     	return;
     }	 
     var reg = /^(13){1}(\d{9}){1}$/;  
     if(!reg.test(str))
	 {
	    if(str.length < 11)
		 {
			alert("“移动电话”输入不正确，请重新输入!");
			strText.select();
			strText.value="";
     	  //strText.select();
			
		 }	
	 } 
	
}



/****************************      固定电话号码校验      **********************/


/*******************************************************************/
/*函数名称：PhoneCodeKeyPress    固定电话号码 按键                 */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/
function PhoneCodeKeyPress(strText,len)
{
     //设置文本框输入长度
     strText.maxLength = len;
     
    //获取所按键的代码	     
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57) && sCode!=45)
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/********************************************************************/
/*函数名称：PhoneCodeExit  固定电话号码 离开                        */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2005年6月18日    张恺                                     */
/*修改者：2006年2月9日     吴晓春                                   */
/********************************************************************/

function PhoneCodeExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     if(str.length == 0)
     {
     	return;
     }

	if(str.length!=7 && str.length!=8 && str.length!=11 && str.length!=12)
	{
        alert("“固定电话”输入不正确，请重新输入!");
		strText.focus();	
		strText.value="";
     	//strText.select();
	    
	}
     	
}


/********************************************************************/
/*函数名称：AreaCodeExit  固定电话号码 离开                        */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2006年2月9日     吴晓春                                   */
/********************************************************************/

function AreaCodeExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     if(str.length == 0)
     {
     	return;
     }
     var reg = /^(\d{3,4}){0,1}$/;
     
     if(!reg.test(str))
     {
        alert("“区号”输入不正确，请重新输入!");
		strText.focus();	
		strText.value="";
     	//strText.select();	
     	
     }	
}


/********************************************************************/
/*函数名称：DianHuaCodeExit  固定电话号码 离开                        */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2006年2月9日     吴晓春                                   */
/********************************************************************/

function DianHuaCodeExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     if(str.length == 0)
     {
     	return;
     }
     var reg = /^(\d{7,8}){1}$/;
     
     if(!reg.test(str))
     {
        alert("“电话”输入不正确，请重新输入!");
		strText.focus();	
		strText.value="";
     	//strText.select();	
     }	
}
/****************************       电话校验（手机和固定电话）        ************************/

/*******************************************************************/
/*函数名称：DianHuaKeyPress    电话校验 按键                       */
/*功能说明：判断输入的是否是数字 ，“－”                            */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月21日    张恺                                    */
/*******************************************************************/

function DianHuaKeyPress(strText)
{
    //设置文本框输入长度
    strText.maxLength = "13";
    
    //获取所按键的代码	     
    var sCode = window.event.keyCode;

    if( !(sCode>=48 && sCode<=57) && sCode!=45)
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }	
}

/*******************************************************************/
/*函数名称：DianHuaExit    电话校验 离开                           */
/*功能说明：判断输入的电话是否符合规则 ，给出提示                  */
/*                                                                 */
/*开发者：2005年6月21日    张恺                                    */
/*******************************************************************/

function DianHuaExit(strText)
{
	 //去除首尾的空格
	var str = trim(strText);
	
	if(str.length == 0 )//|| str == 0)
	{
		//strText.value = 0;
		return;
	}
	
	//var reg = /(^(13){1}(\d{9}){1}$)|(^(\d{3,4}){0,1}\-(\d{7,8}){1}(\-\d{1,}){0,1}$)/;  //手机
	var reg = /(^(13){1}(\d{9}){1}$)|(^(\d{3,4}\-){0,1}(\d{7,8})$)/;  
	
	//var reg = /^(\d{3,4}){0,1}\-(\d{7,8}){1}(\-\d{1,}){0,1}$/;  //固定电话
	
	if( !reg.test(str))
	{
     	 alert("“电话”输入不正确，请重新输入!");
     	 strText.focus();
		 strText.value="";
     	 //strText.select();	     	
	}
	
}


/****************************       时间校验        **********************/

/*******************************************************************/
/*函数名称：HourMinSecKeyPress    时间 按键                        */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/
function HourMinSecKeyPress(strText)
{
    //设置文本框输入长度
    strText.maxLength = "9";
    
    //获取所按键的代码	     
    var sCode = window.event.keyCode;

    if( !(sCode>=48 && sCode<=57))
    {
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}


/********************************************************************/
/*函数名称：HourMinSecExit  时间 离开                               */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2005年6月18日    张恺                                     */
/********************************************************************/
function HourMinSecExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     var strTimeArray = str.match(/^(\d{2}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}(\d{1,3}){0,1}$/); 

     if( strTimeArray == null )
     {
   		alert("您输入的时间有误,请输入合法时间!");
		strText.focus();
     	strText.value="";
     	//strText.select();
    	return;
     }
     
     var strTime = strTimeArray[1]+strTimeArray[2]+strTimeArray[3]+strTimeArray[4];
    
     var len = strTime.length;
     if(len == 0 )
     {
    	 return ;
     }

     if( len != 2 && len!=4 && len!=6 && len!=9 && len!=7 && len!=8)
     {
        alert("您输入的时间有误!");
		strText.value="";
     	//strText.select();
     	strText.focus();	
     	return;
     }     
     
    var hour = strTimeArray[1];
    var minute = strTimeArray[2];
    var second = strTimeArray[3];
    var milliSecond = strTimeArray[4];
    
    //判断时、分、秒、毫秒是否超出正确范围
     if(hour!=null && (hour>24 || hour<0) )
     {
    	alert("您输入的时间有误,请输入格式为“hhmmsshs ”或“hh:mm:ss.hs ”的合法时间!");
     	strText.focus();
        strText.value="";
     	//strText.select();
     	return ;
     }
     if(minute!=null && (minute>59 ||minute<0) )
     {
     	alert("您输入的时间有误,请输入格式为“hhmmsshs ”或“hh:mm:ss.hs ”的合法时间!");
        strText.focus();
		strText.value="";
     	//strText.select();
     
     	return ;
     }
     if(second!=null && (second>59 ||second<0) )
     {
     	alert("您输入的时间有误,请输入格式为“hhmmsshs ”或“hh:mm:ss.hs ”的合法时间!");
        strText.focus();
		strText.value="";
     	//strText.select();
     	
     	return ;
     }
     if(milliSecond!=null && (milliSecond>999 || milliSecond<0) )
     {	 
     	alert("您输入的时间有误,请输入格式为“hhmmsshs ”或“hh:mm:ss.hs ”的合法时间!");
     	strText.value="";
     	 //strText.select();
     	strText.focus();
		return ;
     }
     
     if( len == 4 )
     {
     	strText.value = hour + ":" +minute;
     }
     else if( len == 6 )
     {
     	strText.value = hour + ":" +minute + ":" +second;
     }
     else if( len==7 )
     {
     	strText.value = hour + ":" +minute + ":" + second + ".00" + milliSecond;
     }
     else if ( len == 8 )
     {
     	strText.value = hour + ":" +minute + ":" + second + ".0" + milliSecond;
     }
     else if ( len == 9 )
     {
     	strText.value = hour + ":" +minute + ":" + second + "." + milliSecond;
     }
}


/************************       URL校验         *******************************/


/*******************************************************************/
/*函数名称：URLKeyPress    URL 按键                                */
/*功能说明：判断输入的是否是数字                                   */
/*          如果输入的有误则取消本次按键                           */
/*开发者：2005年6月18日    张恺                                    */
/*******************************************************************/
function URLKeyPress()
{
    //获取所按键的代码	a=97  z=122 A=65 Z=90 @=64 .=46   /=47  :=58  -=45
    var sCode = window.event.keyCode;

    if( !(sCode>=48 && sCode<=57) && !(sCode>=97 && sCode<=122) && !(sCode>=65 && sCode<=90) && sCode!=46 && sCode!=47 && sCode!=58)
    {
  	//取消本次键盘操作
  	window.event.returnValue = false;    	
    }   

}

/********************************************************************/
/*函数名称：URLExit  URL 离开                                       */
/*功能说明：判断时间是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2005年6月18日    张恺                                     */
/********************************************************************/

function URLExit(strText)
{
     //去除首尾的空格
     var str = trim(strText);
     
     if(str.length == 0)
     {
     	return;
     }
    //   /^(h|Ht|T{2}p|P:\/\/){0,1}(w|W{3}\.){0,1}([0-9a-zA-Z\.]){1,}(\.[0-9a-zA-Z]){0,}$/;
    
    //   http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
    
    //   /^(http:\/\/www\.){0,1}([0-9a-zA-Z]){1,}(\.[0-9a-zA-z]){1,}\/{0,1}$/
    //   ( (h|H)(t|T){2}(p|P)\:\/\/(w|W){3}\. ){0,1} (/[\w- ./?%&=]*)
    
    var reg =  /^((h|H)(t|T){2}(p|P)\:\/{2}(w|W){3}\.){0,1}([0-9a-zA-Z]{1,}\.[0-9a-zA-Z]{1,})([\w- .\/?%&=]*)$/;
     
     if(!reg.test(str))
     {
     	 alert("“网址”输入不正确，请重新输入!");
         strText.focus();
		 strText.value="";
     	 //strText.select();	
     }	
}



/********************************************************************/
/*函数名称：isLength                                                */
/*功能说明：判断小数位数是否大于规定值                              */
/*接口说明：数值、小数部分的长度                                    */
/*开发者：2005年6月20日    张恺                                     */
/********************************************************************/

function isLength(strNumber,len)
{
     //获得小数点的位置
     var point = strNumber.toString().indexOf(".");
     
     var str = strNumber.toString().substring(point+1,strNumber.toString().length-1);
     
     if(str.length > len)
     {
     	return true;
     }
     else
     {
     	return false;
     }
}


/********************************************************************/
/*函数名称：numberFormat                                            */
/*功能说明：格式化小数的小数部分,截取相应为数的小数部分             */
/*接口说明：数值、小数部分的长度                                    */
/*开发者：2005年6月20日    张恺                                     */
/********************************************************************/

function numberFormat(strNumber , len)
{
     //获得小数点的位置
     var point = strNumber.toString().indexOf(".");

     var str = null;
     var add = 0;
     
     //判断是否需要进1
   //if ( strNumber.toString().substr(point+len+1,1) >= 5)
   //{
   //	//判断正负数
   //	if(strNumber > 0)
   //	{
   //	   add = 1; //正数
   //   }
   //   else
   //   {
   //      add = -1;	//负数	
   //   }
   //}

     var temp = Math.pow(10,len);   //pow()乘方

     if(strNumber < 0)
     {
     	str = Math.ceil(strNumber * temp) ;//+ add;   //ceil()取整   ， 负数
     }
     else
     {
     	str = Math.floor(strNumber * temp) ;//+ add;   //floor()取整  ， 正数
     }

     return  str/temp;
}



/********************************************************************/
/*函数名称：trim                                                    */
/*功能说明：去除字符串首尾的空格                                    */
/*接口说明：文本框名称                                              */
/*开发者：2005年6月18日    张恺                                     */
/********************************************************************/

function trim(strText)
{
      //去除字符串首尾的空格
      strText.value = strText.value.replace(/(^\s*)|(\s*$)/g,"" );
      
      return strText.value;
}



