﻿//var EscCode=new Array("$","(",")","*","+",".","[","?","\\","^","{","|");			
//var BadCode=new Array("~","!","@","#","%","&","-","=","}",":",";","'","\"","<",",",">",".","/","`");
//alert(EscCode);	
//alert(BadCode);	
//是否为空
function IsEmpty(text)
{
	text=trim(text);
	if(text==""||text==null)
	  return true;
	return false;
}
//是否小于最小值,为空也是小于最小值
function IsOverMinLength(text,minLength)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		
		if (text.length>=minLength)
		  validate = false;
	}
	return validate;
}
//是否大于最大值,为空不算
function IsOverMaxLength(text,maxLength)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		if (text.length<=maxLength)
		  validate = false;
	}
	else
	{
		validate=false;
	}
	return validate;
}
//是否相同
function IsEquals(text,aimText)
{
	var validate = true;
	if (text != aimText)
	  validate = false;
	return validate;
}
//是否有非法的字符串
function IsBadCode(text)
{
	//var validate = true;
	var validate = false;
    //var re =/~\$|\(|\)|\*|\+|\.|\[|\?|\\|\^|\{|\|~|!|@|#|%|&|-|=|}|:|;|'|"|<|,|>|.|/|`|\s/;
	//if (!re.test(text))
	  //validate = false;
	return validate;
}
//是否为正确的电子邮件
function IsEmail(text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		var re = /^[_a-zA-Z0-9\-]+(\.[_a-zA-Z0-9\-]*)*@[a-zA-Z0-9\-]+([\.][a-zA-Z0-9\-]+)+$/;
		if (!re.test(text))
		  validate = false;
	}
	return validate;	
}
//是否为正确的QQ
function IsQQ(text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		var re = new RegExp("\\d{4,15}");
		if (!re.test(text))
		  validate = false;
    }
	return validate;	
}
//是否为正确的网址
function IsHttpUrl(text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		var re = new RegExp("http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//是否为日期类型
//type日期格式
function IsDate(text,type)
{
	var validate=true;
	if(IsEmpty(text)) return validate;
	if(type=="YYYY-MM-DD HH:MM")
	{
		var text1=text.split(" ");
		if(!IsDateFormat(text1[0],'YYYY-MM-DD'))
		  validate=false;
		else
		{
			if(text1[1]==null) validate=false;
			else if(!IsDateFormat(text1[1],"MM:HH"))
			  validate=false;
		}	
	}
	else if(type=="YYYY-MM-DD")
	{
		if(!IsDateFormat(text,'YYYY-MM-DD'))
		  validate=false;		
	}
	return validate;
	//return validate;
//var re=/^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$/;
}
//检查YYYY-MM-DD格式
function IsDateFormat(text,type)
{
    var validate = true;
	if(IsEmpty(text)) return validate;
	if(type=="YYYY-MM-DD")
	{
		var re = new RegExp("^\\d{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$");
		if (!re.test(text))
		  validate = false;		
	}
	else if(type=="MM:HH")
	{
		var re = new RegExp("^(([0-1][0-9])|([1-2][0-3])):((0[1-9])|([0-5][0-9]))$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//是否为数字类型
function IsNumeric(text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
            var re =/^[-\+]?\d+(\.\d+)?$/
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//验证正整数
function IsPositiveInteger(text)
{
    var validate = true;
	if (!IsEmpty(text))
	{
		var re =new RegExp("^[0-9]*[1-9][0-9]*$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
function IsAge(text)
{
    var validate = true;
	if (!IsEmpty(text))
	{
		var re =new RegExp("^[0-9]*[1-9][0-9]*$");
		if (!re.test(text))
		{
		  validate = false;
		}
		else
		{
		  if(text<18||text>100)
		  {
		    validate = false;
		  }
		}
		
    }
	return validate;
}
function Nvl(text)
{
   if(!IsEmpty(text))
     return text;
   else
     return "0";
     
}
//function IsMoneyTo(text)
//{
//	var validate = true;	
//	var ret = ""+parseInt(text)+"";
//	alert(IsFloat(text));
//	alert(IsInt(text));
//    if(!IsFloat(text)&&!IsInt(text))
//    {
//       validate = false;
//    }
////	if (ret=="NaN")
////	{
////		 
////    }
//	return validate;
//}
function IsMoneyTo(objStr)
{

if(objStr==0)
{
   return false;
}
//var objStr=document.getElementById("money").value;
var reg=/^((-?|\+?)\d+)(\.\d+)?$/; 
var result1=objStr.match(reg);
if(result1==null)
{
 // alert("输入的金额无效");
  return false;
}
else
{
   //可以验证一般的类型 特殊一点如001之类 如下
   //规则就是如果0在第一位 那么第二位就一定为 “.” 最后一位一定不为0 
  var first=objStr.substr(0,1);
  var second=objStr.substr(1,1);
  //var last=objStr.substr(objStr.length-1,1);
  if(first=="0"&&second!=".")
  {
   // alert("输入的金额无效");
    return false;
  }
  else
  {
    return true;
  }
 }
}

function IsBetween(minValue,maxValue,text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		if (IsNumeric(text))
		{
			var text1 = parseInt(text);
			if (text1 < minValue || text1 > maxValue)
			  validate = false;
        }
		else
		  validate = false;
    }
	return validate;
}
//是否为邮政编码
function IsPost(text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		var re = new RegExp("^\\d{6}$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//是否为身份证号码
//function IsIdentityCard(text)
//{
//	var validate = true;
//	if (!IsEmpty(text))
//	{
//		var re = new RegExp("\\d{15}|\\d{18}");
//		if (!re.test(text))
//		  validate = false;
//    }
//	return validate;
//}
//是否为汉字
function IsChinese(text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		var re = new RegExp("^[\\u4e00-\\u9fa5]+$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//是否为字母
function IsEnglish(text)
{
	var validate = true;
	if (!IsEmpty(text))
	{
		var re = new RegExp("^[A-Za-z]+$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//是否为手机号码
function IsMobile(text)
{
	var validate = true;
    if (!IsEmpty(text))
    {
		var re = new RegExp("^(0?(13\\d{9})|(15\\d{9})|(18\\d{9}))$");
        if (!re.test(text))
		  validate = false;
	}
	return validate;
}
//是否为正确的电话号码
function IsPhone(text)
{
	var validate = true;
    if (!IsEmpty(text))
    {
		var re = new RegExp("\\b(0\\d{2,3}(?<char>[- ]?)\\d{7,8}\\k<char>\\d{4})|(0\\d{2,3}[- ]?\\d{7,8})|(\\d{7,8})\\b");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//是否为正确的时间如12:00
function IsRightTime(text)
{
	var validate = true;
    if (!IsEmpty(text))
    {
		var re = new RegExp("(([0-1]\\d)|(2[0-3]))(:[0-5]\\d)$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}
//是否正确的传真号码 区号加
function IsFaxNum(text)
{
	var validate = true;
    if (!IsEmpty(text))
    {
		var re = new RegExp("^(0[0-9]{2,3})([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$");
        if (!re.test(text))
		  validate = false;
	}
	return validate;
}
//是否为小时加分钟
//格式mm:hh
function IsHhMm(text)
{
	var validate = true;
    if (!IsEmpty(text))
    {
		var re = new RegExp("^(([0-1][0-9])|([1-2][0-3])):((0[1-9])|([0-5][0-9]))$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;	
}

function IsUserName(text)
{
	var validate = true;
    if (!IsEmpty(text))
    {
		var re = new RegExp("^\\w+$");
		if (!re.test(text))
		  validate = false;
    }
	return validate;
}

function trim(str)
{  
    return str.replace(/(^\s*)|(\s*$)/g, "");
}  
/*身份证验证*/
var powers=new Array("7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2");
var parityBit=new Array("1","0","X","9","8","7","6","5","4","3","2");
var _sex="1";  //1男2女
var _birthDay;

function IsIdentityCard(text)
{
  var validate = false;
  if(IsEmpty(text)) return true;
  if(text.length==15)
  {
    validate=IsIdentityCard15(text);
  }
  else if(text.length==18)
  {
    validate=IsIdentityCard18(text);
  }
  return validate;
}

function IsIdentityCard15(cardNum)
{
  var validate = true;
  _birthDay = cardNum.charAt(6)+cardNum.charAt(7);
  if(parseInt(_birthDay)<10)
    _birthDay = '20'+_birthDay;
  else
     _birthDay = '19'+_birthDay;
  _birthDay=_birthDay+'-'+cardNum.charAt(8)+cardNum.charAt(9)
  _birthDay=_birthDay+'-'+cardNum.charAt(10)+cardNum.charAt(11);
  if(parseInt(cardNum.charAt(14))%2==0)
  {
    _sex="2";
  }
  else
  {
    _sex="1";
  }
  return validate;
}

function IsIdentityCard18(cardNum)
{
  var validate = true;
  cardNum=cardNum+"";
  var _num=cardNum.substr(0,17);     //身份证前17位数
  var _parityBit=cardNum.substr(17); //第18位
  var _power=0;
  for(var i=0;i<17;i++)
  {

    if(_num.charAt(i)<'0'||_num.charAt(i)>'9')//校验每一位的合法性
	{
	  return false;
	  break;
	}
	else
	{ 
	  _power+=parseInt(_num.charAt(i))*parseInt(powers[i]);//设置性别,根据第17位-奇男偶女
	  if(i==16&&parseInt(_num.charAt(i))%2==0)
	  {
	    _sex="2";
	  }
	  else
	    _sex="1";
    }
   }
   //取模
   var mod=parseInt(_power)%11;
   if(parityBit[mod]==_parityBit)
     validate=true;
    else
	 validate=false;
  if(validate)
  {
    //验证成功后，设置生日
    _birthDay=cardNum.charAt(6)+cardNum.charAt(7)+cardNum.charAt(8)+cardNum.charAt(9);
	_birthDay+='-'+cardNum.charAt(10)+cardNum.charAt(11);
	_birthDay+='-'+cardNum.charAt(12)+cardNum.charAt(13);
  }
  return validate;
}

function IsMoney(text)
{
	var validate = true;
    if (!IsEmpty(text))
    {
		var re = /^\d+\.?\d+$/;
        if (re.test(text))
		  validate = true;		  
    }
	return validate;
}

function IsGuiderId(text)
{
  var re=/^[D]+[\-]+[\d{1,4}]+[\-]+[X0-9]{1}\d{5}$/;
  if(re.test(text))
  {
     return true;
  }
  else{
    return false;
  }

}
function IsPhoneAreaNum(text)
{
   var re=/^\d{3,4}$/;
   if(re.test(text))
   {
     return true;
   }
   else
   {
     return false;
   }

}
function IsPhoneNum(text)
{
   var re=/^\d{7,8}$/;
   if(re.test(text))
   {
      return true;
   }
   else
   {
      return false;
   }

}
function IsPhoneExtension(text)
{
   var re=/^\d{3,4}$/;
   if(re.test(text))
   {
     return true;
   }
   else
   {
     return false;
   }
}

 function IsValidDate(DateStr)    
{    
    var sDate=DateStr.replace(/(^\s+|\s+$)/g,''); //去两边空格;    
    if(sDate=='') return true;    
    //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''    
    //数据库中，合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式    
    var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');    
    if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D    
    {    
        var t=new Date(sDate.replace(/\-/g,'/'));    
        var ar = sDate.split(/[-/:]/);    
        if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())    
        {    
            //alert('错误的日期格式！格式为：YYYY-MM-DD或YYYY/MM/DD。注意闰年。');    
            return false;    
        }    
    }    
    else    
    {    
        //alert('错误的日期格式！格式为：YYYY-MM-DD或YYYY/MM/DD。注意闰年。');    
        return false;    
    }    
    return true;    
}   
//字符串截取
function SubString(text,maxLen,showPoint)
{
	var strlen = 0; 
	var s = "";
	for(var i = 0;i<text.length;i++)
	{
		if(text.charCodeAt(i) > 128)
		  strlen += 2;
        else 
          strlen++;
        s += text.charAt(i);
        if(strlen >= maxLen)
		{
			if(showPoint)
			  s+="...";
			break;
		}
	 }
	 return s;
}
function IsOverMaxByte(text,maxlen)
{
    var strlen=0;
    for(i=0;i<text.length;i++)
    {
     if(text.charCodeAt(i) > 128)
		  strlen += 2;
        else 
          strlen++;
    }
    if(strlen>maxlen)
    {
    
      return true;
    }
      return false;
}
function IsAreaNum(text)
{


}