/*
	Check.js  函数功能简介
	
	函数 1  ： < trim(Str , Flag) >				功能 ：  截断字符串	
	函数 2  ： < isInt(str,bEmpty) >			功能 ：  是否为整数
	函数 3  ： < isFloat(str,bEmpty) >			功能 ：  是否是浮点数
	函数 4  ： < isNumber(str,bEmpty) >			功能 ：  是否所有字符为数字类型
	函数 5  ： < isDate(str,bEmpty) >			功能 ：  是否是日期 xxxx-xx-xx	年月日
	函数 6  ： < isNull(str) >					功能 ：  是否为空
	函数 7  ： < isEmail(str,bEmpty) >			功能 ：  是否为电子邮件形式
	函数 8  ： < isTelNo(str,bEmpty) >			功能 ：  是否是电话号码				?????  待测试
	函数 9  ： < isASCII(str, bEmpty) >			功能 ：  是否包含特殊字符			?????  待测试
	函数 10 ： < strlen(str) >					功能 ：  计算字符长度
	函数 11 ： < concatDate(year,month,day) >	功能 ：  将三个字符串连日期格式
	函数 12 ： < equals(str1,str2) >			功能 ：  比较两个字符串是否相等
	函数 13 ： < isSFZ(str) >					功能 ：  是否是身份证
*/


// 函数 1  
function trim(Str , Flag)
{	
	Str	= ""+Str;
	if( Flag == "l" || Flag == "L" )/*trim left side only*/
	{
		RegularExp	= /^\s+/gi;
		return Str.replace( RegularExp,"" );
	}
	else if( Flag == "r" || Flag == "R" )/*trim right side only*/
	{
		RegularExp	= /\s+$/gi;
		return Str.replace( RegularExp,"" );
	}
	else/*defautly, trim both left and right side*/
	{
		RegularExp	= /^\s+|\s+$/gi;
		return Str.replace( RegularExp,"" );
	}
}
	
// 函数 2 
function isInt(str,bEmpty)
{
	if(str==null||trim(str)=="")
	{
		return bEmpty;
	}	
	
  if(trim(str) == "0")
  {
    return false;
  }
	  
	var ch = str.substring(0,1);
	
	if (ch == "0" && trim(str) != "0")
	{
		return false;
	}
	
	for (var i=0; i<str.length ; i++)
	{
		var s = str.substring(i, i+1);
		if (!(s >= "0" && s <="9"))
		{
			return false;
		}
	}
	return true;
}	

// 函数 3 
function isFloat(checkstr, bEmpty, tcount)
	{
		if(checkstr==null||trim(checkstr)=="")
		{
			return bEmpty;
		}	
	
		var str	= trim(checkstr);
		if(str.substring(0,1)==".")
		{
			return false;		
		}
		var temp=0;
		for(var i=0;i<str.length;i++)
		{
			var ch=str.substring(i,i+1);		
			if(!((ch>="0" && ch<="9") || ch=="."))
			{
				return false;		
			}
			if(ch==".")
				temp++;
			if(temp>1)
			{
				return false;		
			}
		}	
			
		if(tcount != null && tcount > 0)
		{
			if(str.indexOf(".") != -1 && str.length - (str.indexOf(".")+1) > tcount)
			{				
				return false;
			}	
		}
						
		var start1 = checkstr.substring(0,1);
		var start2 = checkstr.substring(1,2);
		if(start1 == 0 && start2!=".")
		{
		    for(var i=0;i<str.length;i++)
		    {
		     var ch=str.substring(i,i+1);
		     if (ch==0)
		     temp++;
		     }
		   if (temp == str.length)
		    {
		      return true;
		    }
		    return false;
		  }
		
		
		return true;
	}

// 函数 4
function isNumber(str,bEmpty)
{
	if(str==null||trim(str)=="")
	{
		return bEmpty;
	}
	
	for (var i=0; i<str.length ; i++)
	{
		var s = str.substring(i, i+1);
		if (!(s >= "0" && s <="9"))
		{
			return false;
		}
	}
	return true;
}

// 函数 5
function isDate(str,bEmpty)
{
	if (str == null)
	{
		return bEmpty;
	}
	if (trim(str).length != 10 )
	{
		return false;
	}
	var yearStr = str.substring(0,4);
	if(parseInt(yearStr)<1900)
	{
		return false;
		}
	var reg =  /^[0-9]{4}\-(([0][1-9])||([1][012]))\-(([0][1-9])||([12][0-9])||([3][01]))$/;
	if(!str.match(reg))
	{
		return false;
		}
	return true;
}
	
// 函数 6
function isNull(str)
{
	if (str == null || trim(str) == "")
	{
		return true;
	}
	return false;
}
	
// 函数 7
function isEmail(str,bEmpty)
{
	if (str == null || trim(str) == "")
	{
		return bEmpty;
	}
	
    //校验邮件的正则表达式，包括aa@bb.cc.dd 和 aa@bb.cc的形式
    
    var pattern1 = /^(([\u4E00-\u9FA5]|[\uFE30-\uFEFF]|[\d]|[a-zA-Z]|[\_\-\.])+[\@])(((([\d]|[a-zA-Z]|[\_\-]|[\[\]\{\}\>\<])+[\.])+)([\d]|[a-zA-Z\_\-])+)$/;
   
    if(str.match(pattern1) )
    {
		return true;
	}
        return false;
}

// 函数 8
function isTelNo(str,bEmpty)
{
	if(str==null||trim(str)=="")
		return bEmpty;		
		
    var str	= trim(str);

	var myphone = /^[\-0-9+()\/]{1,32}$/;
  	if(myphone.test(str)) return true;
  	
  	return false;
}	
  
// 函数 9 
function isASCII(str, bEmpty)
{ 
	if(str==null||trim(str)=="")
		return bEmpty;		//alert(name+"项：您尚未填写。");
		
	var str	= trim(str);
	
	for (var i = 0; i < str.length; i++) { 
		var ch = str.charAt(i); 
		if (!((ch >= "A" && ch <= "z" ) || (ch >="0" && ch <="9"))) { 
			return false; 
		} 
	} 
	
    return true; 
} 

// 函数 10
function strlen(str)
{
	str = trim(str);
	var reg = /\r\n/g;
	var str1 = str.replace(reg,""); 
	return str1.length;
}
	
// 函数 11
function concatDate(year,month,day)
{
	if (year == null || trim(year) == "")
		return false ;
	if (month == null || trim(month) == "")
		return false ;
	if (day == null || trim(day) == "")
		return false ;	

	var y = parseInt(trim(year)) ;
	var m = parseInt(trim(month)) ;
	var d = parseInt(trim(day)) ;
	
	var str_y ;
	var str_m ;
	var str_d ;
	
	if (m<10)
	{
		str_m = "0" + m ;
	}
	else
	{
		str_m = m ;
	}
	
	if (d<10)
	{
		str_d = "0" + d ;
	}
	else
	{
		str_d = d ;
	}
	
	str_y = y ;
	
	var str ;
	
	str = str_y + "-" + str_m  + "-" + str_d ;		
	
	return str;	
}

// 函数 12
function equals(str1,str2)
{
	if (str1 == null && str2 ==null)
	{
		return true;
	}
	
	if (str1 == str2)
	{
		return true;
	}
		
	return false;
}

// 函数 13
function isSFZ(str1)
{
	if ((str1.length == 15) || (str1.length == 18))
	{
		return true ;
	}
	else
	{
		return false ;
	}
}
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  