/**
* 判断传入的字符串是否是正整数
* 2006-08-31
*/
function isNumber(str){
	var re=false;
	if(parseInt(str).toString()==str){
		re=true;
	}
	if(parseInt(str)<0){
		re= false;
	}
	return re;
}


function fucCheckNUM(NUM)
{
 var i,j,strTemp;
 strTemp="0123456789";
 if ( NUM.length== 0)
  return 0
 for (i=0;i<NUM.length;i++)
 {
  j=strTemp.indexOf(NUM.charAt(i)); 
  if (j==-1)
  {
  //说明有字符不是数字
   return 0;
  }
 }
 //说明是数字
 return 1;
}

function validateID(str)
{
	if((/^\d{15}$/.test(str))||(/^\d{17}[0-9xX]$/.test(str))) return false;
	return true;
}

//判断是否两者之间的数 val大于lo小于返回true，否则返回false。
function isBetween(val,lo,hi)
{
	if((val<lo)||(val>hi))
	{
		return(false);
	}
	else
	{
		return(true);
	}
}
//判断输入是否是字母,是返回true,否则返回false
function isChar(chr)
{
	var themask="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-/_";
	if ((chr==null)||(chr.length==0))
	{
		return(false);
	}
	else if(themask.indexOf(chr) == -1)
	{
		return(false);
	}
	return(true); 
}
//判断输入的内容是否包含非法字符(包括汉字),包含返回ture,否则false
function isChinese(str)
{
	var flag=false;
	if(isEmpty(str))
	{
		flag=false;
	}
	else
	{
		for(var i=0;i<str.length;i++)
		{
			if (isChar(str.substring(i,i+1))==false)
			{
				flag=true;
				break;
			}
		}
	}
	return(flag);
}
//判断输入的内容是否包含非法字符(包括汉字),包含返回ture,否则false
function isUsername(str){
	//var patn =   /^[\u0391-\uFFE5a-zA-Z0-9][\u0391-\uFFE5\w]{2,20}$/; 
	var patn = "!@#$%^&*()+-='\";:[{]}\|.>,</?`~?????????";
	for(var i=0;i<str.length;i++){
		if(patn.indexOf(str.substring(i,i+1))>=0){
			return true;
		}		
	}	
}
//判断输入的内容是否是字符,是返回ture,否则false
function isCh(str){
    var j;
	var patn = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	for(var i=0;i<str.length;i++){
		j=patn.indexOf(str.charAt(i))
		if (j==-1){
   			return true;
  		}
	}	
}
//判断是否为空 为空或长度为零 返回truen,否则返回false。
function isEmpty(str)
{
	if ((str==null)||(str.length==0)||str==""||str=="null")
	{
		return(true);
	}
	else
	{
		return(false);
	}
}
//如果是数字返回true，否则返回false。
function isDigit(theNum)
{
	var theMask = '0123456789';
	if (isEmpty(theNum))
	{
		return(false);
	}
	else if(theMask.indexOf(theNum) == -1)
	{
		return(false);
	}
	return(true);
}
function isPhone(theNum)
{
	var theMask = '0123456789-';
	for (var i=0;i<theNum.length;i++){
		if(theMask.indexOf(theNum.substring(i,i+1)) == -1)
			return false;
	}	
	return(true);
}

function isMobile(theNum)
{
	if(isEmpty(theNum))
	{
	   return(true);
	}else{
	var theMask = '0123456789';
	for (var i=0;i<theNum.length;i++){
		if(theMask.indexOf(theNum.substring(i,i+1)) == -1)
			return false;
	}	
	return(true);
	}
}

//如果是整型数字返回true，否则返回false。
function isInt(thestr)
{
	var flag=true;
	if(isEmpty(thestr))
	{
		flag=false;
	}
	else
	{
		for(var i=0;i<thestr.length;i++)
		{
			if (isDigit(thestr.substring(i,i+1))==false)
			{
				flag=false;
				break;
			}
		}
	}
	return(flag);
}

//如果是整型数字返回true(包括空)，否则返回false。
function isIntnull(thestr)
{
	var flag=true;
	if(isEmpty(thestr))
	{
		flag=true;
	}
	else
	{
		for(var i=0;i<thestr.length;i++)
		{
			if (isDigit(thestr.substring(i,i+1))==false)
			{
				flag=false;
				break;
			}
		}
	}
	return(flag);
}


//如果是正确的电子邮件格式（包含@和.）返回true，否则返回false。
function isEmail(thestr)
{
	var atindex = thestr.indexOf('@');
	var dotindex = thestr.indexOf('.',atindex);
	var flag = true;
	thesub = thestr.substring(0,dotindex+1);
	if ((atindex<1)||(atindex != thestr.lastIndexOf('@'))||(dotindex<atindex+2)||(thestr.length<=thesub.length))
	{
		flag=false;
	}
	return(flag);
}
//如果是正确的日期格式返回true，否则返回false。格式（月－日－年）
function isDate(thestr)
{
	var the1st = thestr.indexOf('/');
	var the2nd = thestr.lastIndexOf('/');
	if (the1st == the2nd)
	{
		return(false);
	}
	else
	{
		var m = thestr.substring(0,the1st);
		var d = thestr.substring(the1st+1,the2nd);
		var y = thestr.substring(the2nd+1,thestr.length);
		var maxdays = 31;
		if (isInt(m)==false || isInt(d) == false || isInt(y) == false)
		{
			return (false);
		}
		else if(y.length < 4)
		{
			return (false);
		}
		else if (!isBetween (m,1,12))
		{
			return(false);
		}
		else if (m ==4 || m == 6 || m==9 || m ==11)
		{
			maxdays=30;
		}
		else if (m == 2)
		{
			if ( y % 4>0)
			{
				maxdays = 28;
			}
			else if((y%100 == 0) && (y%400>0))
			{
				maxdays = 28;
			}
			else
			{
				maxdays = 29;
			}
		}
		if (isBetween(d,1,maxdays) == false)
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}

//判断是否小于当前日期
function isDatecompare(thestr)
{
   var the1st = thestr.indexOf('-');
   var the2nd = thestr.lastIndexOf('-');

   var y = thestr.substring(0,the1st);
   var m = thestr.substring(the1st+1,the2nd);
   var d = thestr.substring(the2nd+1,thestr.length);

   var date, s;

   date = new Date();
   month = (date.getMonth()+1);            // 获取月份
   day = date.getDate();                   // 获取日
   year = date.getYear();                  // 获取年份

   if(month.length<2) {month="0"+month;}
   if(day.length<2) {day="0"+day;}

  if((y-year) < 0)
     {
        return(false);    
     }
  if((y-year) == 0)
     {
        if((m-month) < 0)
        {
          return(false);  
        }
        if((m-month) == 0)
        {
          if((d-day) < 0){return(false);}
        }
     }
     return(true);
  }



function isymdDate(thestr)
{
	var the1st = thestr.indexOf('-');
	var the2nd = thestr.lastIndexOf('-');
	if (the1st == the2nd)
	{
		return(false);
	}
	else
	{
		var y = thestr.substring(0,the1st);
        var m = thestr.substring(the1st+1,the2nd);
		var d = thestr.substring(the2nd+1,thestr.length);
		var maxdays = 31;
		if (isInt(m)==false || isInt(d) == false || isInt(y) == false)
		{
			return (false);
		}
		else if(y.length < 4)
		{
			return (false);
		}
		else if (!isBetween (m,1,12))
		{
			return(false);
		}
		else if (m ==4 || m == 6 || m==9 || m ==11)
		{
			maxdays=30;
		}
		else if (m == 2)
		{
			if ( y % 4>0)
			{
				maxdays = 28;
			}
			else if((y%100 == 0) && (y%400>0))
			{
				maxdays = 28;
			}
			else
			{
				maxdays = 29;
			}
		}
		if (isBetween(d,1,maxdays) == false)
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}
//如果是正确的日期格式返回true，否则返回false。格式（yyyymmdd）
function isDateyyyymmdd(thestr,anull)
{
	if(isEmpty(thestr)){
		return(anull);
	}
	var the1st = 4;
	var the2nd = 6;
	if (the1st == the2nd)
	{
		return(false);
	}
	else
	{
		var y = thestr.substring(0,the1st);
        var m = thestr.substring(the1st,the2nd);
		var d = thestr.substring(the2nd,thestr.length);
		var maxdays = 31;
		if (isInt(m)==false || isInt(d) == false || isInt(y) == false)
		{
			return (false);
		}
		else if(y.length < 4)
		{
			return (false);
		}
		else if (!isBetween (m,1,12))
		{
			return(false);
		}
		else if (m ==4 || m == 6 || m==9 || m ==11)
		{
			maxdays=30;
		}
		else if (m == 2)
		{
			if ( y % 4>0)
			{
				maxdays = 28;
			}
			else if((y%100 == 0) && (y%400>0))
			{
				maxdays = 28;
			}
			else
			{
				maxdays = 29;
			}
		}
		if (isBetween(d,1,maxdays) == false)
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}

//如果是正确的日期格式返回true，否则返回false。格式（yyyymmdd）
function isDateyyyymmd(thestr)
{
	if (isEmpty(thestr))
	{
		return(true);
	}
	var the1st = 4;
	var the2nd = 6;
	if (the1st == the2nd)
	{
		return(false);
	}
	else
	{
		var y = thestr.substring(0,the1st);
        var m = thestr.substring(the1st,the2nd);
		var d = thestr.substring(the2nd,thestr.length);
		var maxdays = 31;
		if (isInt(m)==false || isInt(d) == false || isInt(y) == false)
		{
			return (false);
		}
		else if(y.length < 4)
		{
			return (false);
		}
		else if (!isBetween (m,1,12))
		{
			return(false);
		}
		else if (m ==4 || m == 6 || m==9 || m ==11)
		{
			maxdays=30;
		}
		else if (m == 2)
		{
			if ( y % 4>0)
			{
				maxdays = 28;
			}
			else if((y%100 == 0) && (y%400>0))
			{
				maxdays = 28;
			}
			else
			{
				maxdays = 29;
			}
		}
		if (isBetween(d,1,maxdays) == false)
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}

//如果是正确的日期格式返回true，否则返回false。格式（yyyymmdd或yyyymm）
function isDateyyyymm(thestr)
{
	if (isEmpty(thestr))
	{
		return(true);
	}
	var the1st = 4;
	var the2nd = 6;
	if (thestr.length == 6)
	{
		var y = thestr.substring(0,the1st);
        var m = thestr.substring(the1st,the2nd);

		if (isInt(m)==false || isInt(y) == false)
		{
			return (false);
		}
		else if(y.length < 4)
		{
			return (false);
		}
		else if (!isBetween (m,1,12))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
	else
	{
		var y = thestr.substring(0,the1st);
        var m = thestr.substring(the1st,the2nd);
		var d = thestr.substring(the2nd,thestr.length);
		var maxdays = 31;
		if (isInt(m)==false || isInt(d) == false || isInt(y) == false)
		{
			return (false);
		}
		else if(y.length < 4)
		{
			return (false);
		}
		else if (!isBetween (m,1,12))
		{
			return(false);
		}
		else if (m ==4 || m == 6 || m==9 || m ==11)
		{
			maxdays=30;
		}
		else if (m == 2)
		{
			if ( y % 4>0)
			{
				maxdays = 28;
			}
			else if((y%100 == 0) && (y%400>0))
			{
				maxdays = 28;
			}
			else
			{
				maxdays = 29;
			}
		}
		if (isBetween(d,1,maxdays) == false)
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}

//如果是正确的时间格式返回true，否则返回false。格式（小时：分钟）
function isTime(thestr)
{
	var colondex = thestr.indexOf(':');
	if ((colondex<1)||(colondex>2))
	{
		return(false);
	}
	else
	{
		var hh = thestr.substring(0,colondex);
		var ss = thestr.substring(colondex+1,thestr.length);
		if((hh.length<1)||(hh.length>2)||(!isInt(hh)))
		{
			return(false);
		}
		else if ((ss.length<1)||(ss.length>2)||(!isInt(ss)))
		{
			return(false);
		}
		else if ((!isBetween(hh,0,23))||(!isBetween(ss,0,59)))
		{
			return (false);
		}
		else
		{
			return(true);
		}
	}
}
//判断是否为实数类型，如果是返回true，否则返回false。
function isReal(thestr)
{
	var dot1st=thestr.indexOf('.');
	var dot2nd=thestr.lastIndexOf('.');
	var OK=true;
	if (isEmpty(thestr))
	{
		return(false);
	}
	if(dot1st==-1)
	{
		if(!isInt(thestr))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
	else if(dot1st!=dot2nd)
	{
		return(false);
	}
	else if(dot1st==0)
	{
		return(false);
	}
	else
	{
		var intpart = thestr.substring(0,dot1st);
		var decpart = thestr.substring(dot2nd+1);
		if(!isInt(intpart)||!isInt(decpart))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}
//判断是否为实数类型，如果是返回true(包括空)，否则返回false。
function isRealnull(thestr)
{
	var dot1st=thestr.indexOf('.');
	var dot2nd=thestr.lastIndexOf('.');
	var OK=true;
	if (isEmpty(thestr))
	{
		return(true);
	}
	if(dot1st==-1)
	{
		if(!isInt(thestr))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
	else if(dot1st!=dot2nd)
	{
		return(false);
	}
	else if(dot1st==0)
	{
		return(false);
	}
	else
	{
		var intpart = thestr.substring(0,dot1st);
		var decpart = thestr.substring(dot2nd+1);
		if(!isInt(intpart)||!isInt(decpart))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}
//
function isReals(thestr)
{
	var dot1st=thestr.indexOf('.');
	var dot2nd=thestr.lastIndexOf('.');
	var OK=true;
	if (isEmpty(thestr))
	{
		return(false);
	}
	if(dot1st==-1)
	{
		if(!isInts(thestr))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
	else if(dot1st!=dot2nd)
	{
		return(false);
	}
	else if(dot1st==0)
	{
		return(false);
	}
	else
	{
		var intpart = thestr.substring(0,dot1st);
		var decpart = thestr.substring(dot2nd+1);
		if(!isInts(intpart)||!isInts(decpart))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}

function isInts(thestr)
{
	var flag=true;
	if(isEmpty(thestr))
	{
		flag=false;
	}
	else
	{
	       var flag_;
	       var j;
	       flag_=thestr.substring(0,1);
	      
	       if(flag_=="-")	
                  j=1;
               else 
		  j=0;  
		
		     for(var i=j;i<thestr.length;i++)
		       {
			  if (isDigit(thestr.substring(i,i+1))==false)
			    {
				flag=false;
				break;
			    } 
		       }
   
	}
	return(flag);	
}

function checkKey(str,keys){
	if (str.indexOf(keys)==-1){
		return (false);
	}else{
		return (true);
	}
}
function isCharA(chr){	var themask="!@#$%^&*()-+=~`";	if(themask.indexOf(chr) == -1)	{		return(false);	}
	else	return(true); }
Date.prototype.DayDiff = function(cDate,mode){
//code by windy_sk , seasonx@163.net
try{
cDate.getYear();
}catch(e){
return(0);
}
var base =60*60*24*1000;
var result = (this - cDate);
switch(mode){
case 'y':
result/=base*365;
break;
case 'm':
result/=base*365/12;
break;
case 'w':
result/=base*7;
break;
default:
result/=base;
break;
}
return(Math.floor(result));
}

//判断是否为实数类型，如果是返回true(包括空)，否则返回false。
function isRealnull(thestr)
{
	var dot1st=thestr.indexOf('.');
	var dot2nd=thestr.lastIndexOf('.');
	var OK=true;
	if (isEmpty(thestr))
	{
		return(true);
	}
	if(dot1st==-1)
	{
		if(!isInt(thestr))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
	else if(dot1st!=dot2nd)
	{
		return(false);
	}
	else if(dot1st==0)
	{
		return(false);
	}
	else
	{
		var intpart = thestr.substring(0,dot1st);
		var decpart = thestr.substring(dot2nd+1);
		if(!isInt(intpart)||!isInt(decpart))
		{
			return(false);
		}
		else
		{
			return(true);
		}
	}
}
//验证身份证号码。
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: 
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]; 
else return Errors[3]; 
} 
else return Errors[2]; 
break; 
default: 
return Errors[1]; 
break; 
} 
} 
//判断checkbox是否被选
function chkCheckBoxChs(objNam){ //檢測是否有選擇多选框的至少一项
 var obj = document.getElementsByName(objNam); //獲取多選框數組
 var objLen= obj.length;    //獲取數據長度
 var objYN;   //是否有選擇
 var i;
  objYN=false;
 for (i = 0;i< objLen;i++){
  if (obj [i].checked==true) {
   objYN= true;
   break;
  }idcard
 }
 return objYN;
}
//判断radio是否被选
function chkradio(objNam){ //檢測是否有選擇多选框的至少一项
 var obj = document.getElementsByName(objNam); //獲取多選框數組
 var objLen= obj.length;    //獲取數據長度
 var objYN;   //是否有選擇
 var i;
  objYN=false;
 for (i = 0;i< objLen;i++){
  if (obj [i].checked==true) {
   objYN= true;
   break;
  }
 }
 return objYN;
}

function  my_round(val,num)  
{  
	var strVal
	val  =  (Math.round(val*Math.pow(10,num))).toString();  
	strVal=val.substring(0,val.length-num)+"."+val.substring(val.length-num,val.length+1)
	if(strVal.indexOf(".")==0)//前面加零
	{
		strVal="0"+strVal;
	}
	if(strVal.substring(strVal.indexOf(".")+1,strVal.length).length<num)//用零占位
	{
		for(i=1;i<num-strVal.length;i++)
		{
			strVal=strVal+"0";
		}
	}
	return  strVal;  
}

 /**
 * 判断是否含有特殊符号
 */
function checkSpecialchar(strSource){
  var spSign = /[&\"<>;?'`%*!]/ig;
  var signNum = String(strSource).match(spSign);
  if (signNum !=null){
    return(true);
  }
  return false;
}
//判断select选项中 是否存在Value="paraValue"的Item        