//-------------------------------------------// 
//客户输入合法性检查v2.0 
//增加ip地址合法检查 
//author:znsoft http://www.phpease.com 
//date:2000-09-26 11:32 
//-------------------------------------------// 
function MM_findObj(n, d) { //查找对象 
	var p,i,x; 
	if(!d) d=document; 
	if((p=n.indexOf("?"))>0&&parent.frames.length) 
	{ 
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	} 
	if(!(x=d[n])&&d.all) x=d.all[n]; 
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
	return x; 
} 
function del_space(s)
{
	for(i=0;i<s.length;++i)
	{
	 if(s.charAt(i)!=" ")
		break;
	}

	for(j=s.length-1;j>=0;--j)
	{
	 if(s.charAt(j)!=" ")
		break;
	}

	return s.substring(i,++j);
}
function check_valid()//变量是否为空检查,第一个参数为变量名，第二个为出错提示信息,第三个为数据类型和长度 
{ 
	var val,val2,args=check_valid.arguments,i,flag=true,flagt=true; 
	for(i=0;i<(args.length-2);i+=3) 
	{ 
		val=MM_findObj(args[i]); 
		if(val)//form元素存在 check_valid("keyword",'r搜索关键字',"S")
		{ 
			if(val.value==""&&(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R"))//是否为空检查 
			{ 
				flag=false; 
				if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
				alert(args[i+1].substring(1,args[i+1].length)+"不能为空，请输入!"); 
				else 
				alert(args[i+1]+"不能为空，请输入!"); 
				break; 
			} 
			if(i<args.length-3)//是否为口令检查 
			{ 
				val2=MM_findObj(args[i+3]); 
				if(val2&&val&&(args[i+1].charAt(0).toUpperCase()=="P")) 
				{ 
					if(val.value!=val2.value) 
					{ 
						flag=false; 
						alert("两次口令不一致，请重来!"+val.value+" "+val2.value); 
						break; 
					} 
				} 
			} 
			if(val.value!="") 
				switch(args[i+2].charAt(0).toUpperCase()) 
				{ 
					case "M"://是邮件 
					{ 
						var mail=/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i; 
						if(!mail.test(val.value)) 
						{ 
							flagt=false; 
							if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
								alert(args[i+1].substring(1,args[i+1].length)+"不合法，请重来!"); 
							else 
								alert(args[i+1]+"不合法，请重来!"); 
						} 
					} 
					break; 
					case "N"://是数字 
					{ 
						var num=parseInt(args[i+2].substring(1,args[i+2].length)); 
						var l; 
						for(l=0;l<val.value.length;l++) 
							if(val.value.charAt(l)>"9"||val.value.charAt(l)<"0") 
							{ 
								flagt=false; 
								if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
									alert(args[i+1].substring(1,args[i+1].length)+"中有非数字字符，请重来!"); 
								else 
									alert(args[i+1]+"中有非数字字符，请重来!"); 
									break; 
							} 
							if(parseInt(val.value)>num) 
							{ 
								flagt=false; 
								if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
									alert(args[i+1].substring(1,args[i+1].length)+"的值太大了，请重输入!\n提示：应小于"+num); 
								else 
									alert(args[i+1]+"的值太大了，请重输入!\n提示：应小于"+num); 
							} 
						} 
						break; 
						case "S"://是字符串 
						{ 


							var num,str; 
							if(val.value.indexOf("'")!=-1 || val.value.indexOf('"')!=-1) 
								{ 
									flagt=false; 
									if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
										alert(args[i+1].substring(1,args[i+1].length)+"中含有非法字符,请重输入!"); 
									else 
										alert(args[i+1]+"中含有非法字符,请重输入!"); 
								} 

							str=args[i+2].substring(1,args[i+2].length); 
							if(str!="")//后面有最小位数限制 
							{ 
								num=parseInt(args[i+2].substring(1,args[i+2].length)); 
								if(val.value.length<num) 
								{ 
									flagt=false; 
									if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
										alert(args[i+1].substring(1,args[i+1].length)+"的长度太小了,请重输入!\n提示：应大于"+num+"个字符."); 
									else 
										alert(args[i+1]+"的长度太小了,请重输入!\n提示：应大于"+num+"个字符."); 
								} 
							} 
						} 
						break; 
						case "T"://是电话或传真 
						{ 
							var tel=/^[0-9]{3,4}\-[0-9]{6,10}(\-([0-9])+)*/i; 
							if(!tel.test(val.value)) 
							{ 
								flagt=false; 
								if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
									alert(args[i+1].substring(1,args[i+1].length)+"不合法，请重来!\n提示:格式为:(区号-电话号码),\n如 024-12345678"); 
								else 
									alert(args[i+1]+"不合法，请重来!\n提示:格式为:(区号-电话号码),\n如 024-12345678"); 
							} 
						} 
						break; 
						case "H"://是主页地址 
						{ 
							var home=/^http:\/\/([0-9a-z]+\.){2,3}[a-z]{2,3}(\/([~\.a-z0-9])*)*$/i; 
							if(!home.test(val.value)) 
							{ 
								flagt=false; 
								if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
									alert(args[i+1].substring(1,args[i+1].length)+" 不合法!\n提示：必须以\"http://\"开头\n例如:http://www.radio.fj.cn"); 
								else 
									alert(args[i+1]+" 不合法!\n提示：必须以\"http://\"开头\n例如:http://www.radio.fj.cn"); 
							} 
						} 
						break; 
						case "B"://是身份证号 
						{ 
							var pid=/^([0-9]){15,18}$/i; 
							if(!pid.test(val.value)) 
							{ 
								flagt=false; 
								if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
									alert(args[i+1].substring(1,args[i+1].length)+"不合法，请重来!\n提示：为了少麻烦，请输入真实身份证号"); 
								else 
									alert(args[i+1]+"不合法，请重来!\n提示：为了少麻烦，请输入真实身份证号"); 
							} 
						} 
						break; 
						case "P"://是法人代码 
						{ 
							var pid=/^([0-9]){8}\-[0-9]$/i; 
							if(!pid.test(val.value)) 
							{ 
								flagt=false; 
								if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
									alert(args[i+1].substring(1,args[i+1].length)+"不合法，请重来!\n提示：为了少麻烦，请输入真实法人代码"); 
								else 
									alert(args[i+1]+"不合法，请重来!\n提示：为了少麻烦，请输入真实法人代码"); 
							} 
						} 
						break; 
						case "I"://是电话或传真 
						{ 
							var ip=/^([0-2]{0,1}[0-9]{0,1}[0-9]\.){3}[0-2]{0,1}[0-9]{0,1}[0-9]$/i; 
							if(!ip.test(val.value)) 
							{ 
								flagt=false; 
								if(args[i+1].charAt(0).toUpperCase()=="P"||args[i+1].charAt(0).toUpperCase()=="R") 
									alert(args[i+1].substring(1,args[i+1].length)+"不合法，请重来!\n提示:格式如:255.255.255.255"); 
								else 
									alert(args[i+1]+"不合法，请重来!\n提示:格式如为:(255.255.255.255)"); 
							} 
						} 
						break; 
					}//end of switch 
					if(flagt==false)//类型检查没通过 
					break; 
					//字符替代 

				} 

			} 
			if(flag&&flagt)//所有检查都通过，提交 
				return true;// 
			else 
				return false;//否则不动作 
			} 
//说明:每个待检元素有三个参数,第一个为变量名，第二个为出错提示串，如果为口令，则在前面加p, 
//如果为必须有的项则为r;第三个为数据类型： 
//m,邮件； 
//h,主页; 
//s，字符串，后面为最小长度; 
//n,数字,后为最大值; 
//t,电话或传真; 
//b,身份证号码 
//p,法人代码 
//i,IP地址 