﻿/*****************************************************************************
函数名称：fucCheckFlightCode
函数功能：检查大写机场三字码
参数	：strTemp  要检查的字符串
参数	：strAlertMsg 要显示的提示信息
返回    ：消息提示框  true/false
日期	：2004-02-25
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckFlightCode(strTemp,strAlertMsg)
{
	strTemp=strTemp.replace(/^(\s)*|(\s)*$/g,"");//去掉字符串两边的空格
    var newPar=/^[A-Z]{3}$/
    if(strTemp.length>0 && newPar.test(strTemp)==false)
    {
		alert(strAlertMsg);	
	    return false;
	}
	else
	{
	   return true;
	}
}

/*****************************************************************************
函数名称：fucCheckObjAndNull
函数功能：检查两个对象中的值不同时为空
参数	：strObj1 对象的ID
参数	：strObj2  对象的ID
参数	：strAlertMsg 要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-30
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckObjAndNull(strObj1,strObj2,strAlertMsg)
{
        var obj1=document.all[strObj1];
		var strTmp1="";		
		if(obj1!=null)
		{
		  strTmp1=obj1.value;
		}
		
		var obj2=document.all[strObj2];
		var strTmp2="";
		if(obj2!=null)
		{
		  strTmp2=obj2.value;
		}
		
		//检查不同时为空
		if(fucCheckAndNull(strTmp1,strTmp2,strAlertMsg)==false)
		{
		   return false;
		}
		
}

/*****************************************************************************
函数名称：fucCheckAndNull
函数功能：检查不同时为空
参数	：strTemp1 要检查的字符串
参数	：strTemp2  要检查的字符串
参数	：strAlertMsg 要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-30
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckAndNull(strTemp1,strTemp2,strAlertMsg)
{
   strTemp1=strTemp1.replace(/^(\s)*|(\s)*$/g,"");//去掉字符串两边的空格
   strTemp2=strTemp2.replace(/^(\s)*|(\s)*$/g,"");//去掉字符串两边的空格
   if ((strTemp1.length<1) && (strTemp2.length<1))
		{
			alert(strAlertMsg);
				return false;
		}
}

/*****************************************************************************
函数名称：fucCheckNull
函数功能：检查是否为空
参数	：strTemp  要检查的字符串
参数	：strAlertMsg 要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-17
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckNull(strTemp,strAlertMsg)
{
	strTemp=strTemp.replace(/^(\s)*|(\s)*$/g,"");//去掉字符串两边的空格
	if (strTemp.length<1)
			{
				alert(strAlertMsg);
				return false;
			}
}


/*****************************************************************************
函数名称：fucCheckLength
函数功能：判断字符串的长度是否已经超出制定的范围
参数	：strTemp,要检查的字符串
参数	：iStrMax,字符串约束的最大长度
参数	：strAlertMsg 要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-20
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckLength(strTemp,iStrMax,strAlertMsg)
{
	strTemp=strTemp.replace(/"/,"&quot");
	strTemp=strTemp.replace(/</g,"&lt");
	strTemp=strTemp.replace(/>/g,"&gt");
	strTemp=strTemp.replace(/'/g,"''");
	strTemp=strTemp.replace(/\n/g,"<br>");
	var i,sum;
	sum=0;
	for(i=0;i<strTemp.length;i++)
	{
		//如果是标准字符，占一个字符长度
		if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
			sum=sum+1;
		else  //如果是非标准字符（汉字），占两个字符长度
			sum=sum+2;
	}
	
	if(sum>iStrMax)
	{
	  //超出了约束的最大字符长度
	   alert(strAlertMsg);
	   return false;
	}
	else
	{
	   return true;
	}
		
}


/*****************************************************************************
函数名称：fucCheckDateFormat
函数功能：验证输入日期的格式是否正确,如2003-09-01 或 空
参数	：strDate,要检查的日期字符串
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckDateFormat(strDate,strAlertMsg)
{
   //验证规则：长日期格式，不足用0补齐，如2003-09-01
    var newPar=/^\d{4}\-\d{2}\-\d{2}$/
    if(strDate.length>0 && newPar.test(strDate)==false)
    {
		alert(strAlertMsg);	
	    return false;
	}
	else
	{
	   return true;
	}
		
}

/*****************************************************************************
函数名称：fucCheckTimeFormat
函数功能：验证输入日期的格式是否正确,如 hh:ss 或 空
参数	：strTime,要检查的日期字符串
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-11-20
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckTimeFormat(strTime,strAlertMsg)
{
   //验证规则：时间格式(只到分) hh:mm
    var newPar=/^([0,1][0-9])|[2][0-3]:[0-5][0-9]$/
    if(strTime.length>0 && newPar.test(strTime)==false)
    {
		alert(strAlertMsg);	
	    return false;
	}
	else
	{
	   return true;
	}
		
}

/*****************************************************************************
函数名称：fucCheckDateOrder
函数功能：验证开始日期必须在结束日期之后(比较的日期格式：2003-09-01)
参数	：strDate,开始日期字符串
参数	：strEDate,结束日期字符串
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckDateTimeOrder(strSDate,strEDate,strMsg)
{
    strSDate=strSDate.replace(/\-/,"\/");
    strEDate=strEDate.replace(/\-/,"\/");
    if(strMsg==""||strMsg==null)
    {
       strMsg="您输入的开始时间在结束时间之后！";
    }
   
   //比较时间
    if(new Date(strSDate).getTime()>=new Date(strEDate).getTime())
    {
        alert(strMsg);
        return false;
     }
     else
     {
        return true;
     }
}

/*****************************************************************************
函数名称：fucCheckDateOrder
函数功能：验证开始日期必须在结束日期之后(比较的日期格式：2003-09-01)
参数	：strDate,开始日期字符串
参数	：strEDate,结束日期字符串
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckDateOrder(strSDate,strEDate,strMsg)
{
    strSDate=strSDate.replace(/\-/,"\/");
    strEDate=strEDate.replace(/\-/,"\/");
    
    if(strMsg==""||strMsg==null)
    {
       strMsg="您输入的开始日期在结束日期之后！";
    }
   
   //比较时间
    if(new Date(strSDate).getTime()>new Date(strEDate).getTime())
    {
        alert(strMsg);
        return false;
     }
     else
     {
        return true;
     }
}

/*****************************************************************************
函数名称：fucIsInteger
函数功能：检查是否为 空 或 整数
参数	：strInteger,要验证的数值
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucIsInteger(strInteger,strAlertMsg)
 {
		//验证规则：整数
		var newPar=/^(-|\+)?\d+$/
		if(strInteger.length>0)
		{
		   if(newPar.test(strInteger)==false)
		   	{
		   	    alert(strAlertMsg);	
		   	    return false;	
		   	 }
		   	else if(strInteger<-2147483648 || strInteger>2147483647)
		     {
		        alert("输入的整数已超出范围!(-2147483648~2147483647)");	
		        return false;
		     }
		     else
		     {
		        return true;
		     }
		 }
		 else
		 {
		    return true;
		 }
 }
		
/*****************************************************************************
函数名称：fucIsFloat
函数功能：检查是否为 空 或 有效数值（实数）
参数	：strFloat,要验证的数值
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucIsFloat(strFloat,strAlertMsg)
 {
		//验证规则：实数
		var newPar=/^(-|\+)?\d*.?\d+$/
		if(strFloat.length>0 && newPar.test(strFloat)==false)
		{
		   alert(strAlertMsg);	
		   return false;	
		 }
		 else
		 {
		    return true;
		 }
 }
 
 /*****************************************************************************
函数名称：fucIsCustomNum
函数功能：检查是否为 空 或 有效指定的数值格式
参数	：strCode,正负符号(+、-或者为空)
参数	：strFloatCout,小数位数
参数	：strNum,要验证的数值
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2004-01-20
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucIsCustomNum(strCode,strFloatCout,strNum,strAlertMsg)
 {
		//验证规则：
        if(strCode=="+")
		{
		  strCode="\\+{0,1}";
		}
		var strTmp="^"+strCode+"\\d+((.\\d{1,"+strFloatCout+"})|\\d*)?$";
		newPar = new RegExp(strTmp)
		if(strNum.length>0 && newPar.test(strNum)==false)
		{
		   alert(strAlertMsg);	
		   return false;	
		 }
		 else
		 {
		    return true;
		 }
 }
 
/*****************************************************************************
函数名称：fucIsUnsignedInteger
函数功能：检查是否为 空 或 正整数
参数	：strInteger,要验证的数值
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucIsUnsignedInteger(strInteger,strAlertMsg)
 {
		
		//验证规则：正整数
		var newPar=/^\d*[123456789]\d*$/
		if(strInteger.length>0)
		{
		   if(newPar.test(strInteger)==false)
		   {
		     alert(strAlertMsg);	
		     return false;	
		   }
		  else if(strInteger<1 || strInteger>2147483647)
		   {
		     alert("输入的整数已超出范围！(1~2147483647)");	
		     return false;
		    }
		   else
		   {
		      return true;
		   }
		 }
		 else
		 {
		    return true;
		 }
 }
 
 /*****************************************************************************
函数名称：fucIsNoUnsignedInteger
函数功能：检查是否为 空 或 非负整数
参数	：strInteger,要验证的数值
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucIsNoUnsignedInteger(strInteger,strAlertMsg)
 {
		
		//验证规则：非负整数
		var newPar=/^\d+$/
		if(strInteger.length>0)
		{
		   if(newPar.test(strInteger)==false)
		    {
		      alert(strAlertMsg);	
		      return false;	
		    }
		   else if(strInteger<0 || strInteger>2147483647)
		   {
		     alert("输入的整数已超出范围！(0~2147483647)");	
		     return false;
		    }
		    else
		    {
		       return true;
		    }
		  }
		 else
		 {
		    return true;
		 }
 }
 
/*****************************************************************************
函数名称：fucCheckPhone
函数功能：检查是否为 空 或 有效的 区号/电话号码
参数	：strInteger,要验证的数值
参数	：strAlertMsg, 出错时要显示的提示信息
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckPhone(strArea,strPhone)
 {
		
		//验证规则：3~4个数字
		var newPar=/^\d{3,4}$/
		
		//验证规则：7~8个数字
		//var newReg=/^\d{7,8}$/
		//验证规则：数字、-、或者（）
		var newReg=/^[\d|(|)|-|_|*|,]*$/
		
		if(strArea.length>0 && newPar.test(strArea)==false)
		{
		   alert("请输入有效的电话号码区号！");	
		   return false;	
		 }
		 else if(strPhone.length>14)
		 {
		   alert("输入的电话号码长度超出！请输入有效的14位数字、-或（）");	
		   return false;
		 }
		 else if(strPhone.length>0 && newReg.test(strPhone)==false)
		 {
		    alert("请输入有效的电话号码！请输入有效的14位数字、-、_、*、,或（）");	
		   return false;	
		 }
		 else
		 {
		    return true;
		 }
 }



/*****************************************************************************
函数名称：fucCheckMail
函数功能：检查是否为Email Address
参数	：strAddress,要检查的字符串地址
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckMail(strAddress,strAlertMsg)
 {
		
		strAddress=strAddress.replace(/^(\s)*|(\s)*$/g,"");//去掉字符串两边的空格
				
		//匹配规则：
		//只允许以字母开头，用a-z,A-Z,0-9以及下划线组成的email名
		//email后面的域名只允许字母或下划线开头,至少一个.,以字母或下划线结束
		var newPar=/^[a-zA-Z][\w-]*@\w+\.(\w|.)*\w+$/
		if(strAddress.length>0 && newPar.test(strAddress)==false)
		{
		   alert(strAlertMsg);	
		   return false;	
		 }
		 else
		 {
		    return true;
		 }
 }
 

/*****************************************************************************
函数名称：fucCheckHTML
函数功能：检查是否为正确的HTML文件发布路径
参数	：strAddress,要检查的字符串地址
返回    ：消息提示框  true/false
日期	：2003-10-21
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckHTML(strAddress)
 {
		
		strAddress=strAddress.replace(/^(\s)*|(\s)*$/g,"");//去掉字符串两边的空格
				
		//匹配规则：
		//只允许以http:\\开头
		//以.htm或html结尾
		var newPar=/^[hH][tT]{2}[pP]:(\/|\\){2}(\w|.|-|\/|\\)+(\/|\\)(\w|-)+.[hH][tT][mM](l|L)*$/
		if(strAddress.length>0 && newPar.test(strAddress)==false)
		{
		   alert("请输入正确的html发布地址！");	
		   return false;	
		 }
		 else
		 {
		    return true;
		 }
 }
 
 /*****************************************************************************
函数名称：getNowDate
函数功能：检查是否为空
返回    ：当前日期:yyyy-mm-dd
日期	：2003-10-17
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function getNowDate()
{
	var today=new Date();
	year = today.getUTCFullYear(); 
	month =today.getUTCMonth()+1; 
	day = today.getUTCDate(); 
	if (month <= 9) month = "0" + month; 
	if (day <= 9) day = "0" + day; 
	var clocktext =year+"-"+month+"-"+day;
	return clocktext;
}
 

/*****************************************************************************
函数名称：getNowTime
函数功能：获取当前时间 
返回    ：当前日期:yyyy-mm-dd hh:mm:ss
日期  ：2003-11-17
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function getNowTime()
{
    var today=new Date();					//获取当前的日期实例
	var year = today.getUTCFullYear();		//年
	var month =today.getUTCMonth()+1;		//月
	var day = today.getUTCDate();			//日
	var hour=today.getHours();				//时
	var minute=today.getMinutes();			//分
	var second=today.getSeconds();			//秒
	if (month <= 9) month = "0" + month; 
	if (day <= 9) day = "0" + day;
	if (hour <= 9) hour = "0" + hour;
	if (minute <= 9) minute = "0" + minute;
	if (second <= 9) second = "0" + second;
	var clocktext =year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
	return clocktext;
}


/*****************************************************************************
函数名称：fucCheckLinkDoc
函数功能：验证查阅公文的输入（只允许数字或/） 
参数	：strDocID,要检查的输入的公文ID
返回    ：消息提示框  true/false
日期    ：2003-12-08
作者    ：金晶
修改人  ：
修改日  ：
******************************************************************************/
function fucCheckLinkDoc(strDocID,strAlertMsg)
{
        //验证规则：只允许数字或/
		var newPar=/^(\d|\/)*$/
		if(strDocID.length>0 && newPar.test(strDocID)==false)
		{
		   alert(strAlertMsg);	
		   return false;	
		 }
		 else
		 {
		    return true;
		 }
}
