﻿/**
*javascript                                                                       		        
*软件版本：                                                                                   	       
*功能说明：数据校验                                                                           		
*主要算法：                                                                                   		
*接口说明: 
*	文本框Click事件  allClick(Lable,Tip)	  
*	
*       文本框KeyPress事件                        文本框onblur事件                               	
*	                                      UserNIsExist(strText,Lable,url)      用户名(会员名、登录名)(字母、数字和'-')      
*					      NameIsExist(strText,Lable,url)  	   验证姓名是否存在	
*	                                      PasswordExit(strText1,strText2,Lable)                  确认密码验证		
*       			              PersonIDExit(strText,Lable)          身份证号                     	 
*	EmailKeyPress()                       EmailExit(strText,Lable)             邮箱			
*					      EmailIsExist(strText,Lable,url)	   验证邮箱
*       CharPlusHengPress(Lable) 						   字母、数字和"-"(常用语会员名、登录名等)
*	PlusKeyPress(strText,Lable,Length)                                         数字(正数,可以限定文本域的长度) 
*	PlusIntKeyPress(Lable)						           数字(正数,不限定文本区域的长度)
*       PlusXx(strText,Lable,Length)  						   数字Xx验证
*	PlusDecimalKeyPress(Lable)						   小数(可以存在数字和".") 
*	PlusHengKeyPress(strText,Lable,Length)				           数字(正数,包括数字和"-")
*       PlusDecimalXKeyPress(strText,Lable,Length) 				   小数(可以限定文本域的长度、存在数字和".")常用于IP等
*	             		              MobileExit(strText,Lable)            手机号		
*	   			              PostExit(strText,Lable)              邮政编码(第一位为0的六位数) 
*       				      IPAddressExit(strText,Lable)	   IP地址
*					      PhoneCodeExit(strText,Lable)         带区号电话号码	
*	  				      DianHuaExit(strText,Lable)           不带区号电话		
*	 				      AreaCodeExit(strText,Lable)          区号			
*         				      FenJiCodeExit(strText,Lable)         分机号		
*	 				      AllPhoneExit(strText,Lable)          各种座机的号码	
*					      DyPlusIntlimitExit(strText,Lable,strValue) 输入的数字大于给定的值
*					      XyPlusIntlimitExit(strText,Lable,strValue) 输入的数字小于给定的值
*					      JyPlusIntlimitExit(strText,Lable,strValue1,strValue2)数字介于给定的两个数之间					*					      PlusIntlimitlenExit(strText,Lable,len)     数字的位数是否小于指定位数
* 					      PlusDecimalExit(strText,Lable,len)   判断输入的小数位数是否小于给定位数 
*					      DyPlusDecimalExit(strText,Lable,strValue)  判断输入的小数是否大于给定的数字
*					      XyPlusDecimalExit(strText,Lable,strValue)  判断输入的小数是否小于给定的数字
*					      JyPlusDecimalExit(strText,Lable,strValue1,strValue2)判断输入的小数是否介于给定的两个数之间
*					      IsPlusDecimalExit(strText,Lable)     判断输入的是否是小数
*                 			      YearMonDay_YearExit(strText)         年月日 ,年月 ，年（加入onFocus="value=value.replace(/[^\d]/g,'')"/>)  
*                   			      YearMonDay_MonExit(strText)          年月日 ,年月 （加入onFocus="value=value.replace(/[^\d]/g,'')"/>)   
*                 			      YearMonDayExit(strText)              年月日 （加入onFocus="value=value.replace(/[^\d]/g,'')"/>)		
*                  			      YearMonExit(strText)                 年月 （加入ononFocus="value=value.replace(/[^\d]/g,'')"/>)  
*                  			      YearExit(strText)                    年  （加入onFocus="value=value.replace(/[^\d]/g,'')"/>)    		
*                 			      YearsExit(strText)                   年           								
*                  			      MonthExit(strText)                   月             	
*                 			      DayExit(strText)                     日 		
*重要函数及参数说明：
*		参数“strValue”给定判断大小的值
*		参数“strValue1”给定判断大小的最大值
*		参数“strValue2”给定判断大小的最小值
*		参数“Len”(设定小数位数时使用)为小数点后面的位数的长度
*		参数“Tip”提示的文本											
*		参数“Length”为文本框的长度限制							
*		参数“url”为检测是否存在的jsp页面及所传参数						
*           NotNull(strText,Lable,minlen,maxlen,name)     是否为空验证                                 
*           	参数“ strText ”为文本框的name或id       						      
*          	参数“Lable”为div层的id 								
*           	参数“name”为此项的名字 								
*           	参数“minlen”为最小长度 								  
*          	参数“maxlen”为最大长度                                                         	
*	    getObj(id)                                     根据id或name取得对象			
*          	参数“id”id或name的值                                                           	
*	    trim(strText)                                   去除字符串首尾的空格			
*           	参数“ strText ” 为文本框的name或id 							
*
*使用说明：												
*		以KeyPress结尾的为KeyPress事件，以IsExist或Exit结尾的是onblur事件，以Click结尾的是onclick事件。				
*		UserN	    用户名(会员名、登录名)        Name         姓名(公司名等) 			
*		Password    密码			  PersonID     身份证号				
*		Email       邮箱(个人或公司邮箱)	  Plus         所有正数				
*               Mobile	    手机号			  Post	       邮编				
*		PhoneCode   电话号码(数字和'-')		  DianHua      不带区号电话(只能是7或8位整数)	
*		AreaCode    区号(3或4位以0开头的整数)	  FenJiCode    分机号(3到5位整数)	
*		AllPhone    各种座机的号码		  IP           ip地址						
*		Decimal     小数
*
*
*开发者：2009年2月18日      张化龙                                                        	
*/
//a=97 A=65 z=122 Z=90 @=64 .=46 -=45 _=95
//
/*var notnullvalue = Array();
var notnullarray = ["name","pass","repass","sex","email"];//必填字段
for(i=0;i<notnullarray.length;i++)
{
alert("notnullarray["+i+"]="+notnullarray[i]);//
notnullvalue[notnullarray[i]]=0;//给必填字段赋值
alert("notnullvalue["+notnullarray[i]+"]="+notnullvalue[notnullarray[i]])//输出值
}*/


var bitian = new Array();//必填项名称
var xuantian = new Array();//选填项名称
var bitianvalue = new Array();//必填项判断值
var xuantianvalue =new Array();//选填项判断值

/*************************************************************/
/*函数名称：setvalue                           		     */
/*功能说明：为提交验证时变量赋值             		     */
/*开发者：2009年4月2日   崔银平             		     */
/*************************************************************/
function setvalue(strText,val)
{
	if((typeof(bitian)!="undefined")&&(typeof(bitianvalue)!="undefined"))   
	{   
		for (i=0;i<bitian.length;i++)
		{
			if(bitian[i]==strText)
			bitianvalue[bitian[i]]=val
		}
	}
	
	if((typeof(xuantian)!="undefined")&&(typeof(xuantianvalue)!="undefined")) 
	{
		for (i=0;i<xuantian.length;i++)
		{
			if(xuantian[i]==strText)
			{
			xuantianvalue[xuantian[i]]=val
			}
		}
	}   
}

/*************************************************************/
/*函数名称：check                           		     */
/*功能说明：提交页面时的检测函数。             		     */
/*开发者：2009年2月23日   崔银平             		     */
/*************************************************************/
function check()
{
	//验证必填字段
	for (j=0;j<bitian.length;j++)
	{
		if(!bitianvalue[bitian[j]])//如果有必填字段未填
		{
			if(document.getElementById(bitian[j]+"tips")!=null)//判断输出提示信息的标签是否存在，不存在则用弹出框进行提示
			{
				DingW(bitian[j],bitian[j]+"tips")
				getObj(bitian[j]+"tips").innerHTML="填写错误.";//返回内容
				getObj(bitian[j]+"tips").className="notewrong";//返回值样式
			}
			else
				alert(bitian[j]+"填写错误");
			return false;
		}
	}
	//验证选填字段
	for (j=0;j<xuantian.length;j++)
	{
		if(!xuantianvalue[xuantian[j]])//如果有选填字段填写错误。
		{
			if(document.getElementById(xuantian[j]+"tips")!=null)
			{
				DingW(xuantian[j],xuantian[j]+"tips")
				getObj(xuantian[j]+"tips").innerHTML="填写错误.";//返回内容
				getObj(xuantian[j]+"tips").className="notewrong";//返回值样式
			}
			else
				alert(xuantian[j]+"填写错误");
			return false;
		}
	}
	
	return true;
}



/*************************************************************/
/*函数名称：DingW                           		     */
/*功能说明：设置显示层的位置             		     */
/*开发者：2009年2月23日   张化龙             		     */
/*************************************************************/
function DingW(strText,Lable)
{	
	var sCode = document.getElementById(strText);
	var top = sCode.offsetTop;// 高度
	var left = sCode.offsetLeft;//宽度
	var height = sCode.clientHeight;//文本框的高
	var width = sCode.clientWidth;//文本框的宽
	while(sCode = sCode.offsetParent){top+=sCode.offsetTop;  left+=sCode.offsetLeft;}
	var target = document.getElementById(Lable);
	target.style.display = "block";
	target.style.position = "absolute";
	target.style.top =top+"px";
	target.style.left=left+width+"px";
	target.style.width=280+"px";
}  

/*************************************************************/
/*函数名称：getObj                           		     */
/*功能说明：根据id或name取得对象             		     */
/*接口说明：标签的id或name值                 		     */	
/*开发者：2009年2月23日   张化龙             		     */
//修改:崔银平  判断对象是否为null
/*************************************************************/
function getObj(id)
{
	var Obj=document.getElementById(id);
	if(Obj!=null && typeof(Obj)=="object")
		return Obj;
	else
	{
		var Obj2=document.getElementsByName(id)[0];
		if(Obj2!=null && typeof(Obj2)=="object")
		return Obj2;
	}
}

/*************************************************************/
/*函数名称：trim                             		     */
/*功能说明：去除字符串首尾的空格             		     */
/*开发者：2009年2月23日   张化龙             		     */
/*************************************************************/
function trim(strText)
{
      //去除字符串首尾的空格
      strText.value = strText.value.replace(/(^\s*)|(\s*$)/g,"" );
      return strText.value;//返回值
}



/*************************************************************/
/*函数名称：NotNull                          		     */
/*功能说明：验证是否为空和长度判断                     	     */
/*接口说明：name为提示信息如:用户名、邮箱等。     	     */
/*开发者：2009年2月23日   张化龙            		     */
/*************************************************************/
function NotNull(strText,Lable,minlen,maxlen,name)
{ 
	if(trim(getObj(strText))=="")
	{	
		getObj(Lable).innerHTML=name+"为必填项.";//返回内容
		getObj(Lable).className="notewrong";//返回值样式
		setvalue(strText,0);
		return false;
	}
	else if((getObj(strText).value.length>maxlen) || (getObj(strText).value.length<minlen))
	{
		getObj(Lable).innerHTML="长度应在"+minlen+"与"+maxlen+"之间.";//返回内容
		getObj(Lable).className="notewrong";//返回值样式
		setvalue(strText,0);
		return false;
	}
	else
	{
		getObj(Lable).className="notetrue";//返回值样式
		getObj(Lable).innerHTML="填写正确!";//返回内容
		setvalue(strText,1);
		return true;             
	}
}

/**********************************************************************/
/*函数名称：allClick                    			      */
/*功能说明：当光标进入时，给出此项的提示。  			      */
/*接口说明：tip为提示信息。     		     		      */
/*开发者：2009年2月23日   张化龙         			      */
/**********************************************************************/
function allClick(Lable,Tip)
{
	getObj(Lable).className='notewarn';	
	getObj(Lable).innerHTML=Tip;
}

/*********************************************************************/
/*函数名称：CharPlusHengPress                   		     */
/*功能说明：检测是否为字母、数字或‘-’,如不是给出提示。  	     */
/*开发者：2009年2月23日   张化龙            		             */
/*********************************************************************/
function CharPlusHengPress(Lable)
{
    //获得键入的值
    var sCode = window.event.keyCode;
    if( !(sCode>=48 && sCode<=57) && !(sCode>=97 && sCode<=122) && !(sCode>=65 && sCode<=90) && !(sCode == 95))
    {  
	getObj(Lable).className='notewrong';
	getObj(Lable).innerHTML='只能输入字母数字和_.';
         //取消本次键盘操作
        window.event.returnValue = false;    	
    }	
}

/*************************************************************************************/
/*函数名称：UserNIsExist(用户名检测 只能输入字母、数字和‘-’)                       */
/*功能说明：检测不能输入中文且第一位不能是数字和‘-’，检测是否存在                  */
/*开发者：2009年2月23日   张化龙             		     		             */
/*************************************************************************************/
function UserNIsExist(strText,Lable,url)
{	

	var val=trim(getObj(strText));
	var first =val.charAt(0)
	if( /.*[\u4e00-\u9fa5]+.*$/.test(val))
	{
		getObj(Lable).className='notewrong';
		getObj(Lable).innerHTML='不能输入汉字.';
		setvalue(strText,0);
		return false; 	
	}
	else if ((first<97 || first >122) && (first<65 || first >90))
	{ 
		getObj(Lable).className='notewrong';
		getObj(Lable).innerHTML='第一位不能为数字.';
		setvalue(strText,0);
		return false; 
	}
	else if (first =='_')
	{ 
		getObj(Lable).className='notewrong';
		getObj(Lable).innerHTML='第一位不能为_.';
		setvalue(strText,0);
		return false; 
	}
	else
	{	
		getObj(Lable).innerHTML='正在检查您的用户名,请稍等......';
		setvalue(strText,1);
		new Ajax.Updater({success: Lable},url,{method: 'post', onFailure:null ,evalScripts:true});
	}
}

/*********************************************************************/
/*函数名称：NameIsExist                     		             */
/*功能说明：检测名字是否存在                          		     */
/*接口说明：url为验证的jsp网页		              		     */
/*开发者：2009年2月23日   张化龙                   		     */
/*********************************************************************/
function NameIsExist(strText,Lable,url)
{
       var name = trim(getObj(strText));
       if(name.length != 0)  
	   {
		  //开始摸班匹配
          var checkOK="#%+&!@$^*()_-,1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ <>;:'|\\\"/?.=[]{}";
          var flag = true;
		  for(i=0;i<name.length;i++)
		  {
			   var ch = name.charAt(i);
		       for(j=0;j<checkOK.length;j++) 
			   {
			        if(ch == checkOK.charAt(j)) 
					{
					    flag = false;
				        break;
				    }
			   }
			   if(!flag) break;//如果不是中文跳出
		   }

		   if(!flag)
		   		{
		        getObj(Lable).className="notewrong";
		        getObj(Lable).innerHTML='请输入中文名！';
				setvalue(strText,0);
				return false;
		        }
			else 
				{
				getObj(Lable).innerHTML='正在检查您的姓名,请稍等......';
				setvalue(strText,1);
				new Ajax.Updater({success: Lable},url,{method: 'post', onFailure:null ,evalScripts:true});
			    }
		 }
}

/*************************************************************/
/*函数名称：PasswordExit                   		     */
/*功能说明：重复输入密码是否正确校验                	     */
/*接口说明：strText1为密码，strText2为重复输入密码           */
/*开发者：  2009年2月23日   张化龙          		     */
/*************************************************************/
function PasswordExit(strText1,strText2,Lable) 
{
		if(trim(getObj(strText1))!=trim(getObj(strText2)))
		{
			  getObj(Lable).className="notewrong";
			  getObj(Lable).innerHTML="两次输入密码不一致.";
			  getObj(strText2).value="";
			  setvalue(strText2,0);
			  return false;
		}
		else 
		{
			  getObj(Lable).className="notetrue";
			  getObj(Lable).innerHTML='填写正确!';
			  setvalue(strText2,1);
			  return true;
		}
		
}

/*************************************************************/
/*函数名称：PlusXx                            	             */
/*功能说明: 验证输入的是否是X、x、或数字。    	             */
/*开发者：  2009年2月23日   张化龙                  	     */
/*************************************************************/ 
function PlusXx(strText,Lable,Length)
{
	 //设置文本框输入长度
    getObj(strText).maxLength = Length;
    
    //获取所按键的代码	
    var sCode = window.event.keyCode;

    if( !(sCode>=48 && sCode<=57) && sCode!=88 && sCode!=120 )
    {
		getObj(Lable).className="notewrong";
    	getObj(Lable).innerHTML="请输入数字或'x'!";
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }   		
}

/*************************************************************/
/*函数名称：checkIdcard                            	     */
/*功能说明：判断身份证号码是否符合规则的判断函数    	     */
/*开发者：  2009年2月23日   张化龙                  	     */
/*************************************************************/  
function checkIdcard(idcard){
var Errors=new Array(
"填写正确!",
"身份证号码位数不对.",
"身份证号码出生日期超出范围或含有非法字符.",
"身份证号码校验错误,请填写真确的身份证号码.",
"身份证地区非法."
);
var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}

var idcard,Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4];
//身份号码位数及格式检验
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
} else {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if(ereg.test(idcard)) return Errors[0];
else return Errors[2];
break;
case 18:
//18位身份号码检测
//出生日期的合法性检查
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
} else {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
}
if(ereg.test(idcard)){//测试出生日期的合法性
//计算校验位
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ parseInt(idcard_array[7]) * 1
+ parseInt(idcard_array[8]) * 6
+ parseInt(idcard_array[9]) * 3 ;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y,1);//判断校验位
if(M == idcard_array[17]) return Errors[0]; //检测ID的校验位
else return Errors[3];
}
else return Errors[2];
break;
default:
return Errors[1];
break;
}

}
/*************************************************************/
/*函数名称：PersonIDExit                            	     */
/*功能说明：判断身份证号码是否符合规则，给出提示    	     */
/*开发者：2009年2月23日   张化龙                  	     */
/*************************************************************/  
function PersonIDExit(strText,Lable){
var strCard = trim(getObj(strText));
if(checkIdcard(strCard) == '填写正确!')
{
getObj(Lable).className='notetrue';
getObj(Lable).innerHTML=checkIdcard(strCard);
setvalue(strText,1);
return true;
}
else
{
getObj(Lable).className='notewrong';
getObj(Lable).innerHTML=checkIdcard(strCard);
setvalue(strText,0);
return false;
}
}

/****************************************************************/
/*函数名称：EmailKeyPress                                        */   
/*功能说明：判断输入的eMail是否是数字、字母、"@"、"."、"_"、"-"、*/   
/*            如果输入的有误则取消本次按键                       */   
/*开发者：  2009年2月23日   张化龙                               */    
/****************************************************************/                       
function EmailKeyPress()
{
    //获取所按键的代码
    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是否符合规则 ，给出提示                         */
/*          如果输入的有误则取消本次按键                             */
/*开发者：  2009年2月23日   张化龙                                   */
/*********************************************************************/              
function EmailExit(strText,Lable)
{
	//去除首尾的空格
	var str = trim(getObj(strText));
	
	if(str.length == 0)
	{
		return ;
	}
	var reg = /^[_a-zA-Z.\d\-]+@[a-zA-Z\d\-]+(\.[a-zA-Z\d\-]+)+$/ ;//适应有点的邮箱

	if ( !reg.test(str))
	{
        getObj(Lable).className='notewrong';
	getObj(Lable).innerHTML='格式不正确,如 user_123@example.com.';
	setvalue(strText,0);
		return false;
	}
	else
		getObj(Lable).className='notetrue';
		getObj(Lable).innerHTML='填写正确!';
		setvalue(strText,1);
		return true;
}

/*********************************************************************/  
/*函数名称：EmailIsExist                                              */
/*功能说明：判断Email是否符合规则 ，以及是否数据库中存在                   */
/*接口说明：url为查询emil的jsp页面                                      */
/*开发者：  2009年2月23日   张化龙                                   */
/*********************************************************************/ 		 
function EmailIsExist(strText,Lable,url)
{
	//去除首尾的空格
	var str = trim(getObj(strText));
	var reg = /^[_a-zA-Z\d\-]+@[a-zA-Z\d\-]+(\.[a-zA-Z\d\-]+)+$/ ;

	if ( !reg.test(str))
	{
	   getObj(Lable).className='notewrong';
	   getObj(Lable).innerHTML='格式不正确,如 user_123@example.com.';
	   setvalue(strText,0);
	   return false;
	}
	else
	{
		getObj(Lable).innerHTML='正在检查您的Email,请稍等......';
		setvalue(strText,1);
		new Ajax.Updater({success: Lable},url,{method: 'post', onFailure:null ,evalScripts:true});
	}
}

/*********************************************************************/  
/*函数名称：PlusKeyPress                                             */
/*功能说明：正数校验，只允许输入数字。                               */
/*开发者：  2009年2月23日   张化龙                                   */
/*********************************************************************/ 
function PlusKeyPress(strText,Lable,Length) 
{
   //设置文本框输入长度	
   getObj(strText).maxLength = Length;
   //获取所按键的代码
   var sCode = window.event.keyCode;	     
   if( !(sCode>=48 && sCode<=57)) 
   {
	getObj(Lable).className = "notewrong";
	getObj(Lable).innerHTML = "请输入数字!";	
        window.event.returnValue = false; //取消本次键盘操作
   } 
}

/*********************************************************************/  
/*函数名称：MobileExit                                               */
/*功能说明：手机号码格式校验                                             */
/*开发者：  2009年2月23日   张化龙                                   */
/*********************************************************************/ 
function MobileExit(strText,Lable) 
{
	var val=trim(getObj(strText));
	if(val!="")
	{
	var reg=/^(?:13\d|15[012356789]|18[8])-?\d{5}(\d{3}|\*{3})$/;//匹配验证
	if(reg.test(val))
	{
		getObj(Lable).className="notetrue";
		getObj(Lable).innerHTML='手机填写正确!';
		setvalue(strText,1);
		return true;
	}
	else
	{
		 getObj(Lable).className='notewrong';
		 getObj(Lable).innerHTML='号码错误.如:13888888888';
		 setvalue(strText,0);
		 return false;
	}	
	}
}

/*************************************************************/
/*函数名称：PlusHengKeyPress                                */
/*功能说明：不允许输入数字和‘-’以外的字符		     */
/*开发者：  2009年2月23日    张化龙                          */
/*************************************************************/
function PlusHengKeyPress(strText,Lable,Length)
{
	//限定长度
	getObj(strText).maxLength= Length;
	 //获取所按键的代码	     
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57 || sCode == 45))
    {
		getObj(Lable).className="notewrong";
    	getObj(Lable).innerHTML="请输入数字与'-'!";
    	//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/*************************************************************/
/*函数名称：PhoneCodeExit                                    */
/*功能说明：校验电话号码输入是否正确，格式错误. 如:2822770   */
/*开发者：  2009年2月23日    张化龙                          */
/*************************************************************/
function PhoneCodeExit(strText,Lable)
{
     //去除首尾的空格
     var str = trim(getObj(strText));
	 if(str!="")
	 {
		 var reg = /\d{7}|\d{8}/; 
		 if((str.length != 0) && (!reg.test(str)))
		 {
			 getObj(Lable).className='notewrong';
			 getObj(Lable).innerHTML='电话号码格式错误. 如:2822770';
			 setvalue(strText,0);
			 return false;
		 } 
		 else  
		 {
			getObj(Lable).className="notetrue";
			getObj(Lable).innerHTML='填写正确!';
			setvalue(strText,1);
			return true;
		}
	}
}

/*********************************************************************/  
/*函数名称：PostExit                                                 */
/*功能说明：邮编格式校验                                             */
/*开发者：  2009年2月23日   张化龙                                   */
/*********************************************************************/ 
function PostExit(strText,Lable)
{
var str=trim(getObj(strText));
var first =str.charAt(0);
if(first!="0")
	{
	getObj(Lable).className='notewrong';
	getObj(Lable).innerHTML='请输入正确邮编.';
	setvalue(strText,0);
	return false;
	}
else if(str.length < 6)
	{
	getObj(Lable).className='notewrong';
	getObj(Lable).innerHTML='邮编长度为6位.';
	setvalue(strText,0);
	return false;
	}
else
	{
	getObj(Lable).className="notetrue";
	getObj(Lable).innerHTML='邮编填写正确!';
	setvalue(strText,1);
	return true;
	}	
}


/************************************************************************************/
/*函数名称：PlusDecimalXKeyPress小数(可以限定文本域的长度、存在数字和".")常用于IP等  */
/*功能说明：判断输入的是否是数字 与‘.’。                         	             */
/*开发者：2009年3月10日    张化龙                      			             */
/************************************************************************************/

function PlusDecimalXKeyPress(strText,Lable,Length)
{
    //设置文本框输入长度
    getObj(strText).maxLength = Length;
    //获取所按键的代码	  
    var sCode = window.event.keyCode;
 
    if( !(sCode>=48 && sCode<=57) && sCode!= 46)
    {
    	getObj(Lable).className="notewarn";
		getObj(Lable).innerHTML="请输入数字和'.'";
		//取消本次键盘操作
    	window.event.returnValue = false;    	
    }
}

/********************************************************************/
/*函数名称：IPAddressExit  IP地址                                   */
/*功能说明：判断IP地址是否符合规则 ，给出提示                         */
/*接口说明：文本框名称                                              */
/*开发者：2009年3月10日    张化龙                                     */
/********************************************************************/
function IPAddressExit(strText,Lable)
{
     //去除首尾的空格
     var str = trim(getObj(strText));
     
     if(str.length == 0)
     {
     	return;
     }
     var reg1 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
     var reg = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
     if(!reg.test(str))
     {
	 	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "请输入正确的IP地址.";
		setvalue(strText,0);
		return false;
     }
	 else
	 {
	    getObj(Lable).className = "notetrue";
		getObj(Lable).innerHTML = "填写正确!";
		setvalue(strText,1);
		return true;
	 }

}

/*************************************************************/
/*函数名称：DianHuaExit                                      */
/*功能说明：校验输电话号码 格式如:0351-2822770               */
/*开发者：  2009年2月23日  张化龙                            */
/*************************************************************/ 
function DianHuaExit(strText,Lable)
{
     //去除首尾的空格
     var str = trim(getObj(strText));
	 if(str!="")
	 {
		 var reg = /^([0]\d{2,3})\-(\d{7,8}){1}(\-\d{1,}){0,1}$/; 
		 if((str.length != 0) && (!reg.test(str)))
		 {
			 getObj(Lable).className='notewrong';
			 getObj(Lable).innerHTML='电话号码格式错误. 如:0351-2822770';
			 setvalue(strText,0);
			 return false;
		 } 
		 else  
		 {
			getObj(Lable).className="notetrue";
			getObj(Lable).innerHTML='填写正确!';
			setvalue(strText,1);
			return true;
		}
	}
}

/*************************************************************/
/*函数名称：AreaCodeExit                                     */
/*功能说明：校验输入的是不是区号                             */
/*开发者：  2009年2月23日    张化龙                          */
/*************************************************************/ 
function AreaCodeExit(strText,Lable)
{
	var reg = /[0]\d{2,3}/;
	var str = trim(getObj(strText));
	flag = reg.test(str);
	if(!flag)
	{
		getObj(Lable).className='notewrong';
		getObj(Lable).innerHTML='请输入正确的区号 如:0352.';
		setvalue(strText,0);
		return false;
	}else
	{
		getObj(Lable).className='notetrue';
		getObj(Lable).innerHTML='填写正确!';
		setvalue(strText,1);
		return true;
	}
}


/*************************************************************/
/*函数名称：FenJiCodeExit                                   */
/*功能说明：校验输入的是不是3-5位分机号                      */
/*开发者：  2009年2月23日    张化龙                          */
/*************************************************************/ 
function FenJiCodeExit()
{
	var reg = /\d{3,5}/;
	var name = trim(getObj(strText));
	flag = reg.test(name);
	if(!flag)
	{
		getObj(Lable).className='notewrong';
		getObj(Lable).innerHTML='请输入正确的分机号 如:1111.';
		setvalue(strText,0);
		return false;
	}
}

/*************************************************************/
/*函数名称：AllPhoneExit                                    */
/*功能说明：校验电话号码输入的正确性 三种格式                */
/*开发者：  2009年2月23日    张化龙                          */
/*************************************************************/
function AllPhoneExit(strText,Lable)
{
     
     var str = trim(getObj(strText));  //去除所填内容的首尾空格；
     var reg1 = /^((\d{7,8}){1})$/;   //匹配没有区号、分机号的电话号码；
     var reg2 = /^([0]\d{2,3})(\-\d{7,8}){1}$/;   //匹配有区号但没有分机号的电话号码；
     var reg3 = /^([0]\d{2,3})(\-\d{7,8}){1}(\-\d{1,}){0,1}$/;   //匹配既有区号又有分机号的电话号码；
     if( (reg1.test(str)) || (reg2.test(str)) || (reg3.test(str)) )
     {
		 getObj(Lable).className='notetrue';
		 getObj(Lable).innerHTML='输入正确！';
		 return true;
     } 
     else  
     {
		 getObj(Lable).className="notewrong";
		 getObj(Lable).innerHTML='电话号码格式不正确！';
		 return false;
     }
}

/********************************************************************/
/*函数名称：PlusIntKeyPress                                          */
/*功能说明：判断输入的是否是数字，如果输入的不是数字则取消本次按键           */
/*接口说明：文本框name或id ，标签name或id                               */
/*开发者：  2009年2月25日        张化龙                               */
/********************************************************************/
function PlusIntKeyPress(Lable)
{
    var sCode = window.event.keyCode;
    if( !(sCode>=48 && sCode<=57))
    {
    	getObj(Lable).className="notewrong";
	getObj(Lable).innerHTML="请输入数字！";
    	window.event.returnValue = false;    	
    }
}

/************************************************************/
/*函数名称：DyPlusIntlimitExit                                */
/*功能说明：判断输入的数字是否大于给定的值                        */
/*接口说明：文本框name或id ，标签name或id，数值                  */
/*开发者：  2009年2月25日  刘永利                              */
/************************************************************/
function DyPlusIntlimitExit(strText,Lable,strValue)
{
	var str = trim( getObj(strText) );
	if( str.length == 0 )
	{
		return;
	}
	if( str<=strValue)
	{
	        getObj(Lable).className="notewrong";
		getObj(Lable).innerHTML="输入不正确，请输入大于"+strValue+"的数字！";
	}
    else
    {
	    getObj(Lable).className="notetrue";
		getObj(Lable).innerHTML="输入正确！";  
		getObj(strText).value = parseInt(str,10);
    }   
}

/************************************************************/
/*函数名称：XyPlusIntlimitExit                                */
/*功能说明：判断输入的数字是否小于给定的值                        */
/*接口说明：文本框name或id ，标签name或id，数值                  */
/*开发者：  2009年2月25日    刘永利                            */
/************************************************************/
function XyPlusIntlimitExit( strText,Lable,strValue )
{
	var str = trim( getObj(strText) );
	if( str.length == 0 )
	{
		return;
	}
	if( str >= strValue )
	{
        getObj(Lable).className="notewrong";
		getObj(Lable).innerHTML="输入不正确，请输入小于"+strValue+"的数字！";   
	}
    else
    {
	    getObj(Lable).className="notetrue";
		getObj(Lable).innerHTML="输入正确！";
		getObj(strText).value = parseInt(str,10);
    }   
}

/************************************************************/
/*函数名称：JyPlusIntlimitExit                               */
/*功能说明：判断输入的数字是否介于给定的两个数之间                */
/*接口说明：文本框name或id ，标签name或id，数值1，数值2          */
/*开发者：  2009年2月25日    刘永利                            */
/************************************************************/
function JyPlusIntlimitExit( strText,Lable,strValue1,strValue2 )
{
	var str = trim( getObj(strText) );
	if( str.length == 0 )
	{
		return;
	}
	if( !( str>strValue1 && str<strValue2) )
	{
		getObj(Lable).className="notewrong";
		getObj(Lable).innerHTML="输入不正确，请输入大于"+strValue1+"小于"+strValue2+"的数字！";     
	}
    else
    {
	    getObj(Lable).className="notetrue";
		getObj(Lable).innerHTML="输入正确！";  
		getObj(strText).value = parseInt(str,10);
    }   
}

/************************************************************/
/*函数名称：PlusIntlimitlenExit                            */
/*功能说明：判断输入数字的位数是否小于指定位数              */
/*接口说明：len为输入的要小于的数				        */
/*开发者：  2009年2月25日    刘永利                        */
/************************************************************/
function PlusIntlimitlenExit( strText,Lable,len )
{
	var str = trim( getObj(strText) );
	if( str.length == 0 )
	{
		return;
	}
	if( str.length >= len )
	{
   	    getObj(Lable).className="notewrong";
		getObj(Lable).innerHTML="输入不正确，请输入小于"+len+"位的正整数！"; 
	}
    else
    {
	    getObj(Lable).className="notetrue";
		getObj(Lable).innerHTML="输入正确！"; 
		getObj(strText).value = parseInt(str,10);
    }   
}

/*******************************************************************/
/*函数名称：PlusDecimalKeyPress                                    */
/*功能说明：判断输入的是否是数字或小数点                           */
/*开发者    2009年2月27日  刘永利                                  */
/*******************************************************************/
function PlusDecimalKeyPress(Lable)
{
    var sCode = window.event.keyCode;    //获取所按键的代码	   
    if( !(sCode>=48 && sCode<=57) && sCode!=46)
    {
    	window.event.returnValue = false;    //取消本次键盘操作	
   		getObj(Lable).innerHTML="请输入小数！";
		getObj(Lable).className="notewrong";
   }
}

/*************************************************************/
/*函数名称：PlusDecimalExit                                  */
/*功能说明：判断输入小数位数小于给定位数                     */
/*接口说明：文本框name或id ，标签name或id，小数位数            */
/*开发者：  2009年2月27日    张化龙                           */
/*************************************************************/
function PlusDecimalExit(strText,Lable,len)
{
	var str = trim( getObj(strText) );   //去除首尾的空格	
	if( str.length == 0 )    //判断是否为空;
	{
		return;
	}
    var reg = new RegExp("^\\d{0,}(\\.\\d{1,"+ len +"}){0,}$");  // 判断是否是规定小数位数的正则表达式；   
    if( !reg.test( str ) || isNaN( str ) )     
    {
		 getObj(Lable).className="notewrong";
		 getObj(Lable).innerHTML="输入不正确，请重新输入，要求保留"+len+"位小数！"; 
		 return false;
    }
    else
    {
   	    getObj(Lable).className="notetrue";
		getObj(Lable).innerHTML="输入正确！"; 
		getObj(strText).value = parseFloat(str,10);
		return true;
    }
}

/************************************************************/
/*函数名称：DyPlusDecimalExit                              */
/*功能说明：判断输入的小数是否大于给定的数字                */
/*接口说明：文本框name或id ，标签name或id，给定数字         */
/*开发者：  2009年2月27日    刘永利                         */
/***********************************************************/
function DyPlusDecimalExit(strText,Lable,strValue)
{
	var str = trim( getObj(strText) );   //去除首尾的空格	
	if( str.length == 0 )    //判断是否为空;
	{
		return;
	}	
    var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");  //匹配小数的正则表达式；   
	if( ( !reg.test(str) ) || ( str <= strValue ) || ( isNaN( str ) ) )    //判断是否是大于给定数的小数；  
    {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "输入不正确，请输入大于"+strValue+"的数字！";
		return false;
    }
    else
    {
   	    getObj(Lable).className = "notetrue";
	    getObj(Lable).innerHTML = "输入正确！"; 
		getObj(strText).value = parseFloat(str,10);
		return true;
    }
}

/************************************************************/
/*函数名称：XyPlusDecimalExit                               */
/*功能说明：判断输入的小数是否小于给定的数字                */
/*接口说明：文本框name或id ，标签name或id，给定数字         */
/*开发者：  2009年2月27日    刘永利                         */
/************************************************************/
function XyPlusDecimalExit(strText,Lable,strValue)
{
	var str = trim( getObj(strText) );   //去除首尾的空格	
	if( str.length == 0 )    //判断是否为空;
	{
		return;
	}	
    var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");   //匹配小数的正则表达式；
    if( (!reg.test(str)) || (str >= strValue) || (isNaN( str )) )    //判断是否是小于给定值的小数；  
    {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "输入不正确，请输入小于"+strValue+"的数字！";
		return false;
    }
    else
    {
   	    getObj(Lable).className = "notetrue";
	    getObj(Lable).innerHTML = "输入正确！"; 
		getObj(strText).value = parseFloat(str,10);
		return true;
    }
}

/************************************************************/
/*函数名称：JyPlusDecimalExit                               */
/*功能说明：判断输入的小数是否介于给定的两个数之间          */
/*接口说明：文本框name或id ，标签name或id，数字1，数字2     */
/*开发者：  2009年2月27日    刘永利                         */
/************************************************************/
function JyPlusDecimalExit(strText,Lable,strValue1,strValue2)
{
	var str = trim( getObj(strText) );   //去除首尾的空格;	
	if( str.length == 0 )    //判断是否为空;
	{
		return;
	}	
    var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");  //匹配小数的正则表达式；   
    if( (!reg.test(str)) || (str <= strValue1) || (str>=strValue2) || (isNaN( str )) )   //判断是否是介于两数之间的小数；
    {  	
		getObj(Lable).className = "notewrong ";
		getObj(Lable).innerHTML = "输入不正确，请输入介于"+strValue1+"至"+strValue2+"之间的数字！";
		return false;
    }
    else
    {
		getObj(Lable).className = "notetrue";
	    getObj(Lable).innerHTML = "输入正确！"; 
		getObj(strText).value = parseFloat(str,10);
		return true;
    }
}

/*************************************************************/
/*函数名称：IsPlusDecimalExit                                */
/*功能说明：判断输入的是否是小数                             */
/*接口说明：文本框name或id ，标签name或id                    */
/*开发者：  2009年2月27日    刘永利                           */
/*************************************************************/
function IsPlusDecimalExit(strText,Lable)
{
	var str = trim( getObj(strText) );   //去除首尾的空格;
	if( str.length == 0 )    //判断是否为空;
	{
		return;
	}
    var reg = new RegExp("^\\d{0,}(\\.\\d{0,}){0,}$");  //匹配小数的正则表达式； 
    if( (!reg.test( str )) || (isNaN( str )) )   //判断是否是小数
    {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "输入不正确，请输入小数！";
		return false;
    }
    else
    {
		getObj(Lable).className = "notetrue";
	    getObj(Lable).innerHTML = "输入正确！";
		getObj(strText).value = parseFloat(str,10);
		return true;
    }
}

/************************************************************/
/*函数名称：IsDateNianYR  	                            */
/*功能说明：判断日期是否符合规则 “YYYY-MM-DD” ，给出提示   */
/*开发者：2009年3月12日    张化龙                           */
/************************************************************/
function IsDateNianYR(strText,Lable)
{
	     if( trim(getObj(strText)).length == 0 )  
		{
			return;
		}
		var   r   =   getObj(strText).value.match(/^(\d{4})(-|\/)(\d{2})\2(\d{2})$/); 
        if(r==null)
		{
			getObj(Lable).className = "notewrong";
			getObj(Lable).innerHTML = "日期格式不正确,请按YYYY-MM-DD输入!";
			return   false;  
		} 
		else{
			getObj(Lable).className = "notetrue";
			getObj(Lable).innerHTML = "填写正确!";
			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]); 
		}
}

/************************************************************/
/*函数名称：YearsExit                                        */
/*功能说明：判断年是否符合规则 “YYYY”，给出提示                 */
/*接口说明：strName为提示的主题。                      */
/*开发者：2009年3月12日    张化龙                           */
/************************************************************/

function YearsExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(strText));
     if( str.length == 0 )  
	{
		return;
	}	 
	 var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}$/); 
	 if( strDateArray == null )
	 {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYY”格式输入.";
		return false;
	 }
	 else
	 {
		getObj(Lable).className = "notetrue";
		getObj(Lable).innerHTML = "填写正确!";
	 }

}
/************************************************************/
/*函数名称：MonthExit                                        */
/*功能说明：判断月份是否符合规则“MM” ，给出提示                 */
/*接口说明：strName为提示的主题。                      */
/*开发者：2009年3月12日    张化龙                           */
/************************************************************/
function MonthExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(strText));
      if( str.length == 0 )  
		{
			return;
		}	 
     var strDateArray = str.match(/^(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“MM”格式输入.";
    	return;
     }
	 if(str != "" &&( str>12 || str<1 ))
    {
	    getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“MM”格式输入.";
	    return;	
    }
	else
	{
		getObj(Lable).className = "notetrue";
		getObj(Lable).innerHTML = "填写正确!";	
	}
    
}
/************************************************************/
/*函数名称：DayExit                                        */
/*功能说明：判断日是否符合规则 “DD”，给出提示                 */
/*接口说明：strName为提示的主题。                      */
/*开发者：2009年3月12日    张化龙                           */
/************************************************************/
function DayExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(strText));
      if( str.length == 0 )  
		{
			return;
		}	 
     var strDateArray = str.match(/^(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
		 {
		    getObj(Lable).className = "notewrong";
			getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“DD”格式输入。";
			return;
		 }
	  if(str != "" &&( str>31 || str<1 ))
		{
		    getObj(Lable).className = "notewrong";
			getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“DD”格式输入。";
			return;	
		}
    else
		{
			getObj(Lable).className = "notetrue";
			getObj(Lable).innerHTML = "填写正确!";	
		}
}
/************************************************************/
/*函数名称：YearMonDayExit                                  */
/*功能说明：判断年月日是否符合规则 “YYYYMMDD”，给出提示                 */
/*接口说明：strName为提示的主题。                        */
/*开发者：2009年3月12日    张化龙                           */
/************************************************************/

function YearMonDayExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(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 )
     {
	    getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。";	
    	return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2]+strDateArray[3];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 8)
    {	
	    getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。";	
    	return;
    	return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    var day = strDateArray[3];
    
    if(month != "" &&( month>12 || month<1 ))
    {
	    getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。";	
    	return;
	return;	
    }
    
    if(day != "" && ((day > getDays(year,month)) || (day < 1)))
    {	
 		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”格式输入。";	
    	return;
		 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)
    } 
    
    //将值附给文本框
    getObj(strText).value = strDate;
	getObj(Lable).className = "notetrue";
	getObj(Lable).innerHTML = "输入正确!";
}

/****************************************************************************/
/*函数名称：YearMonDay_MonExit                             		 */
/*功能说明：判断年月日是否符合规则 “YYYYMMDD”或“YYYYMM”，给出提示     */
/*开发者：2009年3月12日    张化龙                         		  */
/***************************************************************************/

function YearMonDay_MonExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(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 )
     {	
    	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”或“YYYYMM”格式输入.";
		return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2]+strDateArray[3];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 6 && len != 8)
    {	
    	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”或“YYYYMM”格式输入.";
		return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    var day = strDateArray[3];
    
    if(month != "" &&( month>12 || month<1 ))
    {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”或“YYYYMM”格式输入.";
		return;	
    }
    
    if(day != "" && ((day > getDays(year,month)) || (day < 1)))
    {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”或“YYYYMM”格式输入.";
		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)
    } 
    
    //将值附给文本框
    getObj(strText).value = strDate;
	getObj(Lable).className = "notetrue";
	getObj(Lable).innerHTML = "输入正确!";
}


/********************************************************************************/
/*函数名称：YearMonDayExit                                  			*/
/*功能说明：判断年月日是否符合规则“YYYYMMDD”、“YYYYMM”或“YYYY”，给出提示    */
/*接口说明：文本框名称 ，标签名称                   				    */
/*开发者：2009年3月12日    张化龙           			                */
/********************************************************************************/
function YearMonDay_YearExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(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 )
     {
     	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入.";
		return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2]+strDateArray[3];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 4 && len != 6 && len != 8)
    {
    	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入.";
		return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    var day = strDateArray[3];
    
    if(month != "" &&( month>12 || month<1 ))
    {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入.";
		return;	
    }
    
    if(day != "" && ((day > getDays(year,month)) || (day < 1)))
    {
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMMDD”、“YYYYMM”或“YYYY”格式输入.";
		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)
    }  
    
    
    //将值附给文本框
    getObj(strText).value = strDate;
	getObj(Lable).className = "notetrue";
	getObj(Lable).innerHTML = "输入正确!";
}

/************************************************************/
/*函数名称：YearMonExit                                  */
/*功能说明：判断年月是否符合规则 “YYYYMM”，给出提示       */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2009年3月12日    张化龙                           */
/************************************************************/

function YearMonExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(strText));
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}(\d{2}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {	
    	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMM”格式输入。";
		return;
     }
   
    var strDate = strDateArray[1]+strDateArray[2];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 6)
    {	
    	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMM”格式输入。";
		return;
    }
    
    var year = strDateArray[1];
    var month = strDateArray[2];
    
    if(month != "" &&( month>12 || month<1 ))
    {
    	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYYMM”格式输入。";
		return;	
    }  
    strDate = strDateArray[1]+"年"+strDateArray[2]+"月"; 
    
    //将值附给文本框
    getObj(strText).value = strDate;
	getObj(Lable).className = "notetrue";
	getObj(Lable).innerHTML = "填写正确!";
}


/************************************************************/
/*函数名称：YearExit                                        */
/*功能说明：判断年是否符合规则 “YYYY”，给出提示           */
/*接口说明：文本框名称 ，标签名称                           */
/*开发者：2006年2月9日     吴晓春                           */
/*修改者：2009年3月12日    张化龙                           */
/************************************************************/

function YearExit(strText,Lable,strName)
{       
     //去除首尾的空格	
     var str = trim(getObj(strText));
     
     var strDateArray = str.match(/^(\d{4}){0,1}\D{0,1}$/); 

     if( strDateArray == null )
     {	
		getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYY”格式输入。"
		return;
     }
   
    var strDate = strDateArray[1];   

    var len = strDate.length;

    if(len == 0)
    {
    	return ;
    }

    if(len != 4)
    {	
    	getObj(Lable).className = "notewrong";
		getObj(Lable).innerHTML = "“"+strName+"”输入不正确，请按照“YYYY”格式输入。"
		return;
    }
    
    var year = strDateArray[1];  
    strDate = strDateArray[1]+"年"; 
    
    //将值附给文本框
    getObj(strText).value = strDate;
	getObj(Lable).className = "notetrue";
	getObj(Lable).innerHTML = "填写正确!";
}

/************************************************************/
/*函数名称：getDays                          		    */
/*功能说明：返回各个月内的天数               		    */
/*接口说明：年、月                           		    */
/*返 回 值：各个月内的天数                   		    */
/*开发者：2009年3月10日    张化龙      		            */
/************************************************************/
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;
    }
}



function loadajax(Lable,url)
{
new Ajax.Updater({success: Lable},url,{method: 'post', onFailure:null ,evalScripts:true});	
}