﻿function fob(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=fob(n,d.layers[i].document); 
   return x;
} 	   
function hsfValidateInput() 
{  var Info="必须输入有效的";
   var i,j,name,value,message,length,type,a=hsfValidateInput.arguments,cb_name;
   for (i=0; i<a.length; i++) 
   {
       if (a[i][0].indexOf('#')!=-1)
       {
           name=fob(a[i][0].substr(0,a[i][0].indexOf('#')));
           cb_name=fob(a[i][0].substr((a[i][0].indexOf('#')+1),a[i][0].length));
       }
       else
       {
          name=fob(a[i][0]); // 控件名称
       }
       message=a[i][1]; // 提示信息
       type=a[i][2]; // 类型
       if (type!="_r_time_")
       {
          value=name.value.replace(/ +/g, ""); // 控件值
       }
       else
       {
          value=name.value;
       }
   
       if (name) 
       { 
       // ===============不能为空的判断,获得焦点================ //
       if (type.indexOf("_r_")!=-1) 
          {
             if (value=="") // 判断是否为空
             {
                 alert(message+"不能为空!\n"); //为空时出现的提示
                 name.focus();
                 name.select();
                 return false;
             }
          }
                    // ===============不能为空的判断,但不获得焦点================ //
          if (type.indexOf("_ro_")!=-1) 
          {
             if (value=="") // 判断是否为空
             {
                 alert(message+"不能为空!\n"); //为空时出现的提示
                 return false;
             }
          }
            
         // ===============只能输入数字或者字母================ //
         if (type.indexOf("_numchar_")!=-1)
         {
             var Re=/^[0-9a-zA-Z]+$/;
             if (!Re.test(value)) 
             {
                  alert(Info+message+"!\n"); //为空时出现的提示
                 name.focus();
                 name.select();
                 return false;
             }
          }
          
          // ===============可以为空，不为空时，填数字================ //
         if (type.indexOf("_num_")!=-1)
         {
             if (value.search(/^[0-9]+$/)==-1 && value!="") 
             {
                  alert(Info+message+"!\n"); // 判断不能为空
                  name.focus();
                  name.select();
                  return false;
             }
         }
         
          // ===============只能输入小于等于n位长度数字================ //
          if (type.indexOf("_len<")!=-1)
          {
              length=type.substring((type.indexOf('<')+1),type.length-1); // 获得rn<后面的数 
              if (value.length>length)  // 限制数字长度做的限制
              {
                 alert(message+"长度必须小于"+length);
                 name.focus();
                 name.select();
                 return false;
              }
          }
          
          // ===============只能输入大于等于n位长度数字================ //
          if (type.indexOf("_len>")!=-1)
          {  
	         length=type.substring((type.indexOf('>')+1),type.length-1); // 获得rn>后面的数 
              if (value.length<length)  // 限制数字长度做的限制
              {
                 alert(message+"长度必须大于"+length);
                 name.focus();
                 name.select();
                 return false;
              }
          }
          
          // ===============必须输入a-b位之间的数字================ //		  
	      if (type.indexOf("_len#<>")!=-1)
	      {
              length=type.substr((type.indexOf('>')+1),type.length-1);
              length=length.substr(0,length.lastIndexOf("-"));
	          length1=type.substring((type.indexOf('-')+1),type.length-1) // 获得rn<后面的数	  
			  if (value.length<length || value.length>length1)  // 限制数字长度做的限制
			  {
				 alert(message+"长度必须小于"+length1+"位,大于"+length+"位!\n");
				 name.focus();
				 name.select();
				 return false;
			  }
		  }
		  

	       // ===============判断email,一定输入================ //
			if (type.indexOf("_email_")!=-1)
			{  if (value.search(/^([a-zA-Z0-9_\-.]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,})|[^/.]{1,}[@]{1}[^/.]{1,}$/)==-1)
				{
				alert(Info+message+"!\n");
     	    			name.focus();
				name.select();
				return false;
				}
			}	  
	  // ===============判断电话，不能为空================ //
	  if (type.indexOf("_tel_")!=-1)
	  {
	     if (value.search(/^[\+]?[\d]+[\-]?[\d]+$/)==-1)
	     {
	        alert(Info+message+"!\n");
     	    name.focus();
		    name.select();
		    return false;
	     }
	  }
	  

	   
	   // ===============判断手机，不能为空================ //
	   if (type.indexOf("_mod_")!=-1)
	   {
	      if (value.search(/^[0-9]{11}$/)==-1)
	      {
		 alert(Info+message+"!\n");
     	    	 name.focus();
		 name.select();
		 return false;
	       }
	   }
       // ===============中文姓名，不能为空================ //
	if (type.indexOf("_cae_")!=-1)
	   {
	      if (value.search(/^[a-zA-z\u4e00-\u9fa5]*$/)==-1)
	      {
		        alert(Info+message+"!\n");
     	    	 name.focus();
		         name.select();
		         return false;
	       }
	   
	   }
       
	   // ===============中文姓名，不能为空================ //
	if (type.indexOf("_chinese_")!=-1)
	   {
	      if (value.search(/^[\u4e00-\u9fa5]*$/)==-1)
	      {
		        alert(Info+message+"!\n");
     	    	 name.focus();
		         name.select();
		         return false;
	       }
	   
	   }
	   
	      // ===============密码，不能为空================ //
	if (type.indexOf("_password_")!=-1)
	   {
	      if (value.search(/^[0-9a-zA-Z\#\!\@]*$/)==-1)
	      {
		        alert(Info+message+"!\n");
     	    	 name.focus();
		         name.select();
		         return false;
	       }
	   
	   }
	
	    // ===============英文姓名，不能为空================ //
	    if (type.indexOf("_english_")!=-1)
	   {   
	      if (value.search(/^[a-zA-z]*$/)==-1)
	      {
		        alert(Info+message+"!\n");
     	    	 name.focus();
		         name.select();
		         return false;
	       }
	   
	   }
	  // ===============公司名称，可以为空================ //
	  if (type.indexOf("_cmp_")!=-1)
	   { 
	      if (value.search(/^[0-9a-zA-z\s\,\.\u4e00-\u9fa5]*$/)==-1)
	      {
		        alert(Info+message+"!\n");
     	    	 name.focus();
		         name.select();
		         return false;
	       }
	   
	   }
	   // ===============中英文和数字=============== // 
	   if (type.indexOf("_cen_")!=-1)
	   { 
	      if (value.search(/^[0-9a-zA-z\u4e00-\u9fa5]*$/)==-1)
	      {
		        alert(Info+message+"!\n");
     	    	 name.focus();
		         name.select();
		         return false;
	       }
	   
	   }	   
	   // ===============判断街道================ //
	   if (type.indexOf("_city_")!=-1)
	   {
            	 if (value.search(/^.{1,}(市|镇|乡).{1,}(路|街|道).{1,}号.{0,}$/)==-1)
		 {
		        alert(Info+message+"!\n");
     	        name.focus();
		        name.select();
		     return false;
		  }
	     
	   }
	   
}
}
	    return true; 
}
