﻿// JScript 文件
//str  只能由字母，数字，汉字，-线组成，
//否则返回 false;
function IsOptimzeStringValidate(str)
{
    var patName = /^([a-zA-Z0-9- ]*|[\u4E00-\u9FA5]*)*$/;
    if (! patName.test(str ))
    {
       return false;
    }  
    return true;           
}

//返回字符串的字节数
function ByteLength(str)
{
  return str.replace(/[^\x00-\xff]/g,"**").length
}

//****-**-**日期格式
function LimitDateInput()
{
   if ((event.keyCode >=48 && event.keyCode <=57) || event.keyCode==13 || event.keyCode==45)
   {
      return true;
   }
   else
   {
      return false;
   }
}

//function CheckDate(str)
//{
//   if (!str.match(/^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))-(?:0?2-(?:29)))|(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})-(?:(?:(?:0?[13578]|1[02])-(?:31))|(?:(?:0?[13-9]|1[0-2])-(?:29|30))|(?:(?:0?[1-9])|(?:1[0-2]))-(?:0?[1-9]|1\d|2[0-8]))))$/)||str.length<10)
//   {
//      return false;
//   }
//   else
//   {
//      return true;
//   }
// 
//}

//判断是否超过一个月
//“一个月”约定为截止日期是开始日期的下个月前一天，根据终止日期计算正确的起始时间
//参数必须是日期格式****-**-**
function LimitOneMonth(startdate, enddate)
{

   var str = startdate.split('-');
   var strend = enddate.split('-');
   if (str.length != 3 || strend.length != 3)
   {
        return false;
   }
   var newdate = new Date(str[0],--str[1], str[2]);
   var olddate = new Date(strend[0],--strend[1], strend[2]);
   if(olddate.getTime() < newdate.getTime())
   {
        return false;
   }
   
   newdate.setMonth(newdate.getMonth() +1); //增加一个月
   if (newdate.getMonth() > str[1] + 1)     //有进位   {
      newdate.setMonth(newdate.getMonth()-1);
      newdate.setDate(str[2]-newdate.getDate()-1);
   }
   else
   {
      newdate.setDate(newdate.getDate() - 1); 
   }

   //判断大小
   if (olddate.getTime() > newdate.getTime())
   {
       return false;
   }
   else
   {
       return true;
   }
}  
   
//字符串转成日期类型    
function StringToDate(DateStr)   
{     
    var myDate = DateStr.replace(/\-/g,"/") 
    var n = new Date(myDate); 
    return n;   
}      

 //去掉字符串的前后空格函数
  function Trim(str)  
  {

   var i = 0;
   var len = str.length;
   if ( str == "" ) return( str );
   j = len -1;
   flagbegin = true;
   flagend = true;
   while ( flagbegin == true && i< len)
   {
   if ( str.charAt(i) == " " )
   {
     i=i+1;
     flagbegin=true;
   }
   else
   {
     flagbegin=false;
    }
   }

   while  (flagend== true && j>=0)
   {
    if (str.charAt(j)==" ")
    {
     j=j-1;
     flagend=true;
    }
    else
    {
     flagend=false;
    }
   }

   if ( i > j ) return ("")

   trimstr = str.substring(i,j+1);
   return trimstr;
  } 
  
//取得URL请求参数  
function getQueryString()
{
	var strReturnValue = "";
	var strHref = window.location.href;
	var n = strHref.indexOf('?');
	if (n > 0)
	{
		strReturnValue = strHref.substr(n + 1);
	}
	return strReturnValue;
}  

//取得URL域
function getHostString()
{
   var strHost = window.location.host;
   return "http://" + strHost;
  
}

//html解码
function HtmlDecode (input)
{
    var converter = document.createElement("DIV");
    converter.innerHTML = input;
    var output = converter.innerText;
    converter = null;
    return output;
}

//html编码
function HtmlEncode (input)
{
    var converter = document.createElement("DIV");
    converter.innerText = input;
    var output = converter.innerHTML;
    converter = null;
    return output;
}


//用于验证文本框中输入的日期格式function CheckDate(dateStr)
{ 
	if(dateStr == "")
	{
	  return false;
	}
	
	var year, month, day;
	var regexstr = "([^\\s\\-]{4})" + "-" + "([^\\s\\-]{2})" +"-" + "([^\\s\\-]{2})";
	var regex = new RegExp(regexstr, "ig");	
	if(dateStr.match(regex) == null||dateStr.length>10)
	{
		return false;
	}
	else 
	{
	    return validateDate1(RegExp.$1, RegExp.$2, RegExp.$3);
	}
}
function validateDate1(year, month, day)
{
	if(year != "")
	{
	    if(!year.match(/^[0-9]+$/))
		{
			return false;
	    }
	}
	
	if(month != "")
	{
	    if(!month.match(/^[0-9]+$/))
		{

			return false;
		}
        if(month<1 || month >12)
		{
			return false;
        }
	}
	
	if(day != "")
	{
	    if(!day.match(/^[0-9]+$/))
		{
			return false;
		}
        if((day==0)||(day>31))
		{
            return false;
        }
        else if(day>28 && day<31)
		{
			if(month==2)
			{
				if(day!=29)
				{
					return false;
				}
				else 
				{
					if((year%4)!=0)
					{
						return false;
					}
					else 
					{
                        if((year%100==0)&&(year%400!=0))
						{
							return false;
						}
					}
				}
			}
		}
		else if(day==31)
		{
            if((month==2)||(month==4)||(month==6)||(month==9)||(month==11))
			{
				return false;
			}
		}
	}
	return true;
}

