/*
旗帜软件通用脚本检测程序V2.0
设计：董勇
制作：董勇
Copywrite by ddy（董勇） (c)2004，All right reserved!
山东旗帜软件版权所有
*/
/*

每个表单项可以制定的属性包括：
				0、ischeck..........=true，该表单项需要检测
				1、notnull..........=true不能空
				2、maxlengthbyte....最多输入字符（汉字算两个字符）
				3、isemail..........=true，必须是邮箱格式
				4、isnum............=true必须是数字
				5、ischinese........=true必须是汉字
				6、text.............本表单项的描述，用于提示信息
				7、bytelength.......输入字符的长度
				8、isenglish........=true必须是英文字母
				9、minlengthbyte....最少输入字符
				10、specialchar..... 检测特殊字符（双引号和逗号用汉字输入状态下的替代,）
				11、isenornum.......必须是字母或数字
				
				所有属性字母均为小写		

*/

function QZFormCheck(which)
{
	var zddy;
	var mess="";
	if(which)
		zddy=document.all[which];
	else
		zddy=document.all;
		
	var l=zddy.length;
	
	for(var i=0;i<l;i++)
	{
		
		var ddyItem=zddy.item(i);
		
		if(ddyItem.type=="submit"||ddyItem.type=="reset"||ddyItem.type=="button")
		{
			if(ddyItem.isdisabled)
			{
				if(ddyItem.isdisabled=="true")
					ddyItem.disabled=true;
			}
			
		}
		
		
		if(ddyItem.ischeck)
		{
			if(ddyItem.ischeck=="true")
			{
				//开始检测该控件的所需项目
				/*
				1、notnull..........不能空
				2、maxlengthbyte....最多输入字符（汉字算两个字符）
				3、isemail..........Email检测
				4、isnum............必须是数字
				5、ischinese........必须是汉字
				6、bytelength.......输入字符必须的长度
				7、isenglish........必须是英文字母
                8、minlengthbyte....最少输入字符
                9、specialchar..... 检测特殊字符（双引号和逗号用汉字输入状态下的替代,）
                10、isenornum.......必须是字母或数字
				
				*/
								
				//   1   不能空
				if(ddyItem.notnull)
				{
					if(ddyItem.notnull=="true")
					{
						if(isNull(ddyItem.value))
						{
							if(ddyItem.text)
								mess=ddyItem.text+"不能空！";
							else
								mess=ddyItem.name+"不能空！";
							alert(mess);
							if(ddyItem.type!="hidden")
								ddyItem.focus();
							return false;
							
						}
					}
				}
				
				//   2  最多不能超过N个字节内容
				
				if(ddyItem.maxlengthbyte)
				{
						if(ddyItem.value!="")
						{
							if(isOverFlow(ddyItem.value,ddyItem.maxlengthbyte))
							{
								if(ddyItem.text)
									mess=ddyItem.text+"不能超过"+ddyItem.maxlengthbyte+"字节（汉字算两字节）！";
								else
									mess=ddyItem.name+"不能超过"+ddyItem.maxlengthbyte+"字节（汉字算两字节）！";	
								alert(mess);
								if(ddyItem.type!="hidden")
								ddyItem.focus();
								return false;
								
							}
						}
					
				}
				
				
				//   3   必须是Email
				
			    if(ddyItem.isemail)
			    {
					if(ddyItem.isemail=="true")
					{
						if(ddyItem.value!="")
						{
							if(!isEmail(ddyItem.value))
							{
								if(ddyItem.text)
								mess="输入的"+ddyItem.text+"格式不正确！";
								else
									mess="输入的"+ddyItem.name+"格式不正确！";
									
								alert(mess);
								if(ddyItem.type!="hidden")
								ddyItem.focus();
								return false;
							}
						}
							
					}
			    }
				
				
				
				
				
				//   4    必须是数字
				
				if(ddyItem.isnum)
				{
					if(ddyItem.isnum=="true")
					{
						if(ddyItem.value!="")
						{
							if(isNaN(ddyItem.value))
							{
								if(ddyItem.text)
									mess=ddyItem.text+"必须是数字！";
								else
									mess=ddyItem.name+"必须是数字！";
								
								alert(mess);
								if(ddyItem.type!="hidden")
								ddyItem.focus();
								return false;
								
							}
						}
					}
				}
				
				
				//    5    必须是汉字
				
				
				if(ddyItem.ischinese)
				{
					if(ddyItem.ischinese=="true")
					{
						if(ddyItem.value!="")
						{
							if(!isChinese(ddyItem.value))
							{
								if(ddyItem.text)
									mess=ddyItem.text+"必须是汉字！";
									
								else
									mess=ddyItem.name+"必须是汉字！";
								
								alert(mess);
								if(ddyItem.type!="hidden")
								ddyItem.focus();
								return false;
								
							}
						}
					}
				}
				
				//     6   必须输入N字节内容
				
				if(ddyItem.bytelength)
				{
					if(ddyItem.value!="")
					{
						if(!isLen(ddyItem.value,ddyItem.bytelength))
						{
							if(ddyItem.text)
								mess=ddyItem.text+"必须是"+ddyItem.bytelength+"字节（汉字算两字节）！";
							else
								mess=ddyItem.name+"必须是"+ddyItem.bytelength+"字节（汉字算两字节）！";
							
							alert(mess);
							if(ddyItem.type!="hidden")
							ddyItem.focus();
							return false;
							
						}
					}
				}
				
				
				//     7   必须是字母
				
				
				if(ddyItem.isenglish)
				{
					if(ddyItem.isenglish=="true")
					{
						if(ddyItem.value!="")
						{
							if(!isEnglish(ddyItem.value))
							{
								if(ddyItem.text)
									mess=ddyItem.text+"必须是英文字母！";
									
								else
									mess=ddyItem.name+"必须是英文字母！";
								
								alert(mess);
								if(ddyItem.type!="hidden")
								ddyItem.focus();
								return false;
								
							}
						}
					}
				}
				
				

                  //     8    最少输入字节

                 if(ddyItem.minlengthbyte)
				{
						if(ddyItem.value!="")
						{
							if(isUnderL(ddyItem.value,ddyItem.minlengthbyte))
							{
								if(ddyItem.text)
									mess=ddyItem.text+"最少输入"+ddyItem.minlengthbyte+"字节（汉字算两字节）！";
								else
									mess=ddyItem.name+"最少输入"+ddyItem.minlengthbyte+"字节（汉字算两字节）！";	
								alert(mess);
								if(ddyItem.type!="hidden")
								ddyItem.focus();
								return false;
								
							}
						}
					
				}
				
				
				    //    9  检测特殊字符（双引号和逗号用汉字输入状态下的替代,）

                 if(ddyItem.specialchar)
				{
						var s=ddyItem.specialchar.replace(/“/g,"\"");
						
						if(isSpecialChar(ddyItem.value,s))
						{
							var s2=s.replace(/,/g,"、");
								s2=s2.replace(/，/g,",");
							if(ddyItem.text)
								mess=ddyItem.text+"不能输入非法字符："+s2+"！";
							else
								mess=ddyItem.name+"不能输入非法字符："+s2+"！";	
							alert(mess);
							if(ddyItem.type!="hidden")
							ddyItem.focus();
							return false;
							
						}
					
				}
			//10 英文或字母

			if(ddyItem.isenornum)
				{
												
						if(!isEnOrNum(ddyItem.value))
						{
							
							if(ddyItem.text)
								mess=ddyItem.text+"只能是数字或字母";
							else
								mess=ddyItem.name+"只能是数字或字母";	
							alert(mess);
							if(ddyItem.type!="hidden")
							ddyItem.focus();
							return false;
							
						}
					
				}	
				//结束一个控件的检测
				
			}
		}
	}
	
	return true;
	
}
function isNull(value)
{
	value=value.replace(/\s/g, "");
	if(value=="")
		return true;
	else
		return false;
}

function isSpecialChar(v,str)
{
	

	var strs=str.split(",");
	
	for(var i=0;i<strs.length+1;i++)
	{
		//alert(strs[i]);
		if(strs[i]=="，")
		{
			if(v.indexOf(",")>-1)
				return true
			
		}else
		{
			if(v.indexOf(strs[i])>-1)
				return true;
		}
	}
	return false;
}

function isOverFlow(str,maxnum)
{
	if(maxnum=="-1")
		return false;
	if(parseInt(strlen(str))>parseInt(maxnum))
		return true;
	else
		return false;
}

function isUnderL(str,minnum)
{
	if(parseInt(strlen(str))<parseInt(minnum))
		return true;
	else
		return false;
}


function strlen(str){
    var l=str.length;
    var n=l;
    for(var i=0;i<l;i++)
    {
       if(str.charCodeAt(i)<0||str.charCodeAt(i)>255) n++;
           if(str.charCodeAt(i)==32) n--;
     }
       return n;
}
function isEmail(mail){
	re=/^[0-9a-zA-Z-_]+@[0-9a-zA-Z-_]+(\.[0-9a-zA-Z-_]+)+$/;
	x=re.exec(mail);
	if(x==null)
		return false;
	else
		return true;
	}
function isEnglish(str)
{
	var re=/[a-zA-Z]/gi;
	var x=str.replace(re,"");
	if(x=="")
		return true;
	else
		return false;
}
function isChinese(str)
{
	var l=str.length;
    var n=l;
    for(var i=0;i<l;i++)
    {
       if(str.charCodeAt(i)>0&&str.charCodeAt(i)<255)
       return false;
       
     }
     return true;
}
function isEnOrNum(str)
{
	var re=/[a-zA-Z0-9]/gi;
	var x=str.replace(re,"");
	if(x=="")
		return true;
	else
		return false;
}
function isLen(str,num)
{
	if(parseInt(strlen(str))==parseInt(num))
		return true;
	else
		return false;
}
