﻿
var maxpn=999999999999;
var maxfn=999999999999.9;
var numerrormsg0="请输入0-999999999999之内的数字";
var numerrormsg1="请输入1-999999999999之内的数字";
var overerrormsg="数值超过最大值999999999999";

 
 /*功能： 比较两个日期的大小，如果开始日期大于结束日期，返回false;
入口参数：
   BDate:开始日期输入框      EDate:结束日期输入框
   Msg: 出错显示的信息  */
function CheckDiffDate(BDate,EDate,Msg)
{

	if ( (!CheckEmpty(BDate,"请输入开始日期！")) || (!CheckEmpty(EDate,"请输入结束日期！")) )
		return false;

	str = BDate;

	if(!IsDate(str)){DispMessage(BDate,"开始日期不是有效的日期");return false;}

	aa = str.split("-");
	BYear = parseInt(aa[0],10);
	BMonth = parseInt(aa[1],10);
	BDay = parseInt(aa[2],10);
	str = EDate;
	if(!IsDate(str)){DispMessage(EDate,"结束日期不是有效的日期");return false;}

	bb = str.split("-");
	EYear = parseInt(bb[0],10);
	EMonth = parseInt(bb[1],10);
	EDay = parseInt(bb[2],10);

	if(BYear<1900)
	{
		DispMessage(BDate,"日期不能小于1900年！");
		return false;
	}
	if(EYear<1900)
	{
		DispMessage(EDate,"日期不能小于1900年！");
		return false;
	}

	b=(BYear*10000)+(BMonth*100)+BDay;
	e=(EYear*10000)+(EMonth*100)+EDay;
	if(e>b)
		return true;
	else
	{
		DispMessage(BDate,Msg);
		return false;
	}
}

/*
   判断一个字符串是否为有效的日期并且格式是否正确 YYYY-M-D
   参数 str:被检查的字串
   返回:真或假
*/

function IsDate(obj)
{
 var lthdatestr
	 
 var str = obj;

 if (str!= "")
	lthdatestr= str.length ;
 else
	lthdatestr=0;
  
 var tmpy="";
 var tmpm="";
 var tmpd="";
 var status;
 status=0;
 if ( lthdatestr== 0)
  return false
  
 var i;

 for (var i=0;i<lthdatestr;i++)
 { if (str.charAt(i)== '-')
  {
   status++;
  }
  if (status>2)
  {
   return false;
  }
  if ((status==0) && (str.charAt(i)!='-'))
  {
   tmpy=tmpy+str.charAt(i)
  }
  if ((status==1) && (str.charAt(i)!='-'))
  {
   tmpm=tmpm+str.charAt(i)
  }
  if ((status==2) && (str.charAt(i)!='-'))
  {
   tmpd=tmpd+str.charAt(i)
  }

 }
 year=new String (tmpy);
 month=new String (tmpm);
 day=new String (tmpd)
 if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
 {
  return false;
 }
 if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
 {
  return false;
 }
 if (!((year % 4)==0) && (month==2) && (day==29))
 {
  return false;
 }
 if ((month<=7) && ((month % 2)==0) && (day>=31))
 {
  return false;
 
 }
 if ((month>=8) && ((month % 2)==1) && (day>=31))
 {
  return false;
 }
 if ((month==2) && (day==30))
 {
  return false;
 }
 
 return true;
}

/* 功能： 校验一个正整数
入口参数：CheckCtl: 要校验的输入框  disptext: 出错显示的信息 IsCanZero : 是否可以为零
返回:  真: 是正整数 假: 不是*/
function CheckPositiveInt(CheckCtl,disptext,IsCanZero)
{
	var s=new String(Trim(CheckCtl));
	var temp=parseInt(s);
	var result=true;
	if (  (isNaN(temp)) || (temp<0) || ( s.indexOf(".")>=0 )||(temp!=s))
	{
		result=false;
	}
	else if ( (!IsCanZero)&&(temp==0) )
	{
		result=false;
	}
	if  (temp>maxpn)
	{
		result=false;
		disptext=overerrormsg;
	}
	if (!result)
	{
		DispMessage(CheckCtl, disptext);
		return false;
	}
	return true;

}

/*
  检验正则表达式是否符合
*/
function IsValid(p, t, s) {
	if (p.test(t))
	return true;

	if (s != null) {
		alert(s);
	}
	return false;
}


/*
 判断是否是正确的电子邮件地址
 参数: CheckCtl :要检验的输入框 s:出错时需要警告的信息
 true:是 false:否
*/
function IsEmail(CheckCtl, s) {
	//return IsValid(/^\s*\w+\@\w+(\.\w+)+\s*$/i, CheckCtl, s);
	return IsValid(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, CheckCtl, s);

}


/*
   去掉空格同VBSCRIPT中的trim
*/
function Trim(strSource)
{
 return  strSource.replace(/^\s*/,'').replace(/\s*$/,'');

}

//显示信息
function DispMessage(CheckCtl,Msg)
{
 if (Msg!="")
 {
  alert(Msg);
 }
}
/*功能： 校验一个值是否为空
入口参数：CheckCtl: 要校验的输入框 disptext: 出错显示的信息
false:为空
*/
function CheckEmpty(CheckCtl,disptext)
{
 if (Trim(CheckCtl)=="" )
 {
  DispMessage(CheckCtl,disptext);
  return false;
 }
 else
   return true;
}

//取radio的值
function getRadioValue(name)
{
	var return_value=""
	var radio_count=document.getElementsByName(name)
	for(i=0;i<radio_count.length;i++)
		{
			if(radio_count[i].checked)
			{
				return_value = radio_count[i].value;
				return return_value;
			}
		}
	return return_value;
} 
function oUrl(x){
	var returnStr = "";
	for(var i = 0; i < x.length; i ++)
	{
		returnStr += escape(x.charAt(i));

	}
	return returnStr;
}
function isDigit(s)
{
	var patrn=/^[0-9]{1,20}$/;
	if (!patrn.exec(s)) return false
	return true
}
