//CheckValue:用于判断对象的值是否符合条件，现已提供的选择有： 
//integer：整型，还可判断正整型和负整型 
//number ：数值型，同样可判断正负 
//date ：日期型，可支持以自定义分隔符的日期格式，缺省是以′-′为分隔符 
//string ：判断一个字符串包括或不包括某些字符 
//返回值： 
//true或false 

//参数： 
//ObjStr ：对象标识符——对象名； 
//ObjType：对象类型('integer','number','date','string'之一) 

//其他说明： 
//当对象值为空时，则返回错误。 

function CheckValue(ObjStr,ObjType) 
{ 
var str=''; 
if ((ObjStr==null) || (ObjStr=='') || ObjType==null) 
{ 
alert('函数LogicalValue缺少参数'); 
return false; 
} 
var obj = document.all(ObjStr); 
if (obj.value=='') return false; 
for (var i=2;i<arguments.length;i++) 
{  
if (str!='') 
str += ','; 
str += 'arguments['+i+']'; 
} 
str=(str==''?'obj.value':'obj.value,'+str); 
var temp=ObjType.toLowerCase(); 
if (temp=='integer') 
{ 
return eval('IsInteger('+str+')'); 
} 
else if (temp=='number') 
{ 
return eval('IsNumber('+str+')'); 
} 
else if (temp=='string') 
{ 
return eval('SpecialString('+str+')'); 
} 
else if (temp=='date') 
{ 
return eval('IsDate('+str+')'); 
} 
else if (temp=='email') 
{ 
return eval('IsEmail('+str+')'); 
} 

else 
{ 
alert('"'+temp+'"类型在现在版本中未提供'); 
return false; 
} 
} 

/** 
IsInteger: 用于判断一个数字型字符串是否为整形， 
还可判断是否是正整数或负整数，返回值为true或false 
string: 需要判断的字符串 
sign: 若要判断是正负数是使用，是正用'+'，负'-'，不用则表示不作判断 
Author: PPDJ 
sample: 
var a = '123'; 
if (IsInteger(a)) 
{ 
alert('a is a integer'); 
} 
if (IsInteger(a,'+')) 
{ 
alert(a is a positive integer); 
} 
if (IsInteger(a,'-')) 
{ 
alert('a is a negative integer'); 
} 
*/ 

function IsInteger(string ,sign) 
{  
var integer; 
if ((sign!=null) && (sign!='-') && (sign!='+')) 
{ 
alert('IsInter(string,sign)的参数出错：\nsign为null或"-"或"+"'); 
return false; 
} 
integer = parseInt(string); 
if (isNaN(integer)) 
{ 
return false; 
} 
else if (integer.toString().length==string.length) 
{  
if ((sign==null) || (sign=='-' && integer<0) || (sign=='+' && integer>0)) 
{ 
return true; 
} 
else 
return false;  
} 
else 
return false; 
} 

/** 
IsDate: 用于判断一个字符串是否是日期格式的字符串 

返回值： 
true或false 

参数： 
DateString： 需要判断的字符串 
Dilimeter ： 日期的分隔符，缺省值为'-' 

Author: PPDJ 
sample: 
var date = '1999-1-2'; 
if (IsDate(date)) 
{ 
alert('You see, the default separator is "-"); 
} 
date = '1999/1/2"; 
if (IsDate(date,'/')) 
{ 
alert('The date\'s separator is "/"); 
} 
*/ 

function IsDate(DateString , Dilimeter) 
{ 
if (DateString==null) return false; 
if (Dilimeter=='' || Dilimeter==null) 
Dilimeter = '-'; 
var tempy=''; 
var tempm=''; 
var tempd=''; 
var tempArray; 
if (DateString.length<8 && DateString.length>10) 
return false;  
tempArray = DateString.split(Dilimeter); 
if (tempArray.length!=3) 
return false; 
if (tempArray[0].length==4) 
{ 
tempy = tempArray[0]; 
tempd = tempArray[2]; 
} 
else 
{ 
tempy = tempArray[2]; 
tempd = tempArray[1]; 
} 
tempm = tempArray[1]; 
var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小时是因为我们处于东八区 
var tempDate = new Date(tDateString); 
if (isNaN(tempDate)) 
return false; 
if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd))) 
{ 
return true; 
} 
else 
{ 
return false; 
} 
} 

/** 
IsNumber: 用于判断一个数字型字符串是否为数值型， 
还可判断是否是正数或负数，返回值为true或false 
string: 需要判断的字符串 
sign: 若要判断是正负数是使用，是正用'+'，负'-'，不用则表示不作判断 
Author: PPDJ 
sample: 
var a = '123'; 
if (IsNumber(a)) 
{ 
alert('a is a number'); 
} 
if (IsNumber(a,'+')) 
{ 
alert(a is a positive number); 
} 
if (IsNumber(a,'-')) 
{ 
alert('a is a negative number'); 
} 
*/ 

function IsNumber(string,sign) 
{ 
var number; 
if (string==null) return false; 
if ((sign!=null) && (sign!='-') && (sign!='+')) 
{ 
alert('IsNumber(string,sign)的参数出错：\nsign为null或"-"或"+"'); 
return false; 
} 
number = new Number(string); 
if (isNaN(number)) 
{ 
return false; 
} 
else if ((sign==null) || (sign=='-' && number<0) || (sign=='+' && number>0)) 
{ 
return true; 
} 
else 
return false; 
} 



/** 
SpecialString: 用于判断一个字符串是否含有或不含有某些字符 

返回值： 
true或false 

参数： 
string ： 需要判断的字符串 
compare ： 比较的字符串(基准字符串) 
BelongOrNot： true或false，“true”表示string的每一个字符都包含在compare中， 
“false”表示string的每一个字符都不包含在compare中 

Author: PPDJ 
sample1: 
var str = '123G'; 
if (SpecialString(str,'1234567890')) 
{ 
alert('Yes, All the letter of the string in \'1234567890\''); 
} 
else 
{ 
alert('No, one or more letters of the string not in \'1234567890\''); 
} 
结果执行的是else部分 
sample2: 
var password = '1234'; 
if (!SpecialString(password,'\'"@#$%',false))  
{ 
alert('Yes, The password is correct.'); 
} 
else 
{ 
alert('No, The password is contain one or more letters of \'"@#$%\''); 
}  
结果执行的是else部分 
*/ 
function SpecialString(string,compare,BelongOrNot) 
{ 
if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false))) 
{ 
alert('function SpecialString(string,compare,BelongOrNot)参数错误'); 
return false; 
} 
if (BelongOrNot==null || BelongOrNot==true) 
{ 
for (var i=0;i<string.length;i++) 
{ 
if (compare.indexOf(string.charAt(i))==-1) 
return false 
} 
return true; 
} 
else 
{ 
for (var i=0;i<string.length;i++) 
{ 
if (compare.indexOf(string.charAt(i))!=-1) 
return false 
} 
return true; 
} 
} 


function IsEmail(s) 
{
	  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_@.";
      var allValid = true;
       for (i = 0;  i < s.length;  i++)
       {
              ch = s.charAt(i);
              for (j = 0;  j < checkOK.length; j++)
              if (ch == checkOK.charAt(j))
                     break;
              if (j == checkOK.length)
              {
                     return false;
                     break;
              }
       }

    if ((s.indexOf("@") < 0) || (s.indexOf(".")<s.indexOf("@"))) 
            {
                return false;
            } 
        return true;

}


function check(msg,text,num){
  var str=text;
  if(str.length>num){
     alert("你输入的"+msg+"字符过长！！");
	 return false;
  }
  else
     return true;
}

function checkfile(filename,uploadname) //文件是否是图片格式
	{
	var filetype;
	var filevalue;
	filevalue=filename.value;
	filetype=filevalue.substring(filevalue.lastIndexOf("."),filevalue.length);
	filetype=filetype.toLowerCase();
	
	if (filetype!=".jpg"&&filetype!=".jpeg"&&filetype!=".bmp"&&filetype!=".tif"&&filetype!=".png"&&filetype!=".gif")
	{
		alert("对不起，我们不支持你所选的图片格式"+filetype);
		
		return false;		
	}
	else
	{
	if (filetype==".jpg"||filetype==".jpeg"||filetype==".bmp"||filetype==".png"||filetype==".gif"){
	img.innerHTML = '<img width=200 src=\''+filename.value+'\'>';}
	else
	{img.innerHTML = '';
		}
	}	
		return true;
	}

function checkok(field) //多选或单选框是否选择
{
var chflag;
chflag ="false";
if	(field.checked == true)
{chflag = "true";}
for (i = 0; i < field.length; i++)
{
if	(field[i].checked == true)
{chflag = "true";}
}
if (chflag =="false")
{return false; }
else 
{return true; }
}

function checklen(field,leg)
{
	if (field.value.length>leg)
{return true; }
else 
{return false; }
	
}

function   cball(a)   
{   
//a为checkbox的对象数组 

var   j   =   0; 
var   k   =   0; 
var   objs   =   a; 
for   (var   i=0;   i <objs.length;   i++) 
{ 
if   (objs[i].checked)   
objs[i].checked=false;   
else   
objs[i].checked=true; 
} 

} 