﻿//验证checkboxlist
function  validatecbl(obj, minlength, maxlength)  //obj:cbl的ID
{
    var count=0;  
    var  inarr=document.getElementById(obj).getElementsByTagName("input");
    
    for (var i=0; i<inarr.length; i++)
    {
        if(inarr[i].type=="checkbox")
         {
            if(inarr[i].checked==true)    
             {
                 count++;
             }
          }
    }
    if(count<minlength||count>maxlength)
        return false;
    return true;
}
        


// 验证纯字母(只能是字母)
function validatestring(obj, minlength, maxlength)
{
   if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
        var reg=/[^a-zA-Z]/;
        if(reg.test(obj))
        {
            return false;
        } 
        else
            return true;
    }
}
// 验证数字和字母（必须只能是数字与字母的组合）
function validatenumstring(obj, minlength, maxlength)
{
    if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
         var reg=/[^0-9a-zA-Z]/;
        if(reg.test(obj))
        {
            return false;
        } 
        else
            return true;
    }
}

// 验证数字可以带小鼠点
function validatenumd(obj, minlength, maxlength)
{
   if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
        //^[-+]?\d+(\.\d+)?$";
        var reg= /^\d+\.?\d*$/; 
        if(!reg.test(obj))
            return false;
        else
            return true;
    }
}
//限制最大输入
function MaxLength(field,maxlimit)
{
    var j = field.value.replace(/[^\x00-\xff]/g,"**").length; 
    var tempString=field.value; 
    var tt=""; 
    if(j > maxlimit)
    { 
        for(var i=0;i<maxlimit;i++)
        { 
           if(tt.replace(/[^\x00-\xff]/g,"**").length < maxlimit) 
           tt = tempString.substr(0,i+1); 
           else 
           break; 
        } 
        if(tt.replace(/[^\x00-\xff]/g,"**").length > maxlimit) 
           tt=tt.substr(0,tt.length-1); 
        field.value = tt; 
    }
}



// 验证纯数字(只能是数字)
function validatenum(obj, minlength, maxlength)
{
   if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
        var reg=/[^0-9]/;

        if(reg.test(obj))
        {
            return false;
        } 
        else
            return true;
    }
}

// 验证电子邮件
function validateemail(obj, minlength, maxlength)
{
  if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
           var reg= /[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+$/;
        if(!reg.test(obj))
        {
            return false;
        } 
        else
            return true;
    }
}
// 验证网址
function validatewebsite(obj, minlength, maxlength)
{
   var j = obj.replace(/[^\x00-\xff]/g,"**").length;

   if(j<minlength||j>maxlength)
        return false;
    else
    {
    var strRegex = "^[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&amp;%\$#\=~])*[^\.\,\)\(\s]$"; 
      var reg= new RegExp(strRegex); 
   if(!reg.test(obj))
        {
            return false;
        } 
        else
            return true;
    }
}
// 验证法国的商业代码，14位，只允许数字
function validatefrenchcode(obj, minlength, maxlength)
{
   if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
        var reg=/[^0-9]/;

        if(reg.test(obj))
        {
            return false;
        } 
        else
            return true;
    }
}
// 验证任何一段字符串,过滤特殊字符（<,>）
function validateany(obj, minlength, maxlength)
{
    var j = obj.replace(/[^\x00-\xff]/g,"**").length;
    if(j<minlength||j>maxlength)
        return false;
    else
    {
        var reg=/(<)|(>)|(&)|(\|)|(\")|(\/)/g; 

        if(reg.test(obj))
        {
            return false;
        } 
        else
            return true;
    }
}
//验证法国商业号是否符合法国商业号的组成规则
function validatebusinessnum(obj)
{
str=obj.split("");
var sum=0;
var objArray=new Array(2,1,2,1,2,1,2,1,2,1,2,1,2,1);

var objArray1=new Array();

for(var i=0;i<str.length;i++)
 {
 var temp1=parseInt(str[i]);
 var temp2=parseInt(objArray[i]);
 objArray1[i]=temp1*temp2;
 
 }
 for(var j=0;j<objArray1.length;j++)
 {
 sum+=Math.floor(objArray1[j]/10)+objArray1[j]%10;
 }
//objArray1[i]=parseInt(str[i])*parseInt(objArray1[]);
//document.write(sum);
if(sum%10==0)
{
return true;
}
else
{
return false;
}
}

// 验证法国商业号码其中调用了上面的validatebusinessnum()函数
function validatebusiness(obj, minlength, maxlength)
{

   if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
  //  var strRegex = "[A-Z]{2}\d{2}\s\d{2}\s\d{2}\s\d{2}";
      var reg=/[^0-9]/;
   if(reg.test(obj))  //验证是否全部由数字组成
        {
            return false;
        } 
        else
          if(validatebusinessnum(obj))    //验证是否符合商业号的组成规则
            return true;
            else
            return false
    }
  }

function validatenumstringdk(obj, country,minlength, maxlength)
{ var reg;
   if(obj.length<minlength||obj.length>maxlength)
        return false;
    else
    {
  switch (country)
   {
   case "1":reg=/[A-Z]{2}\w{11}/;    //Frecch           
            break
   case "2":reg=/[A-Z]{2}\d{9}/;    //German
            break 
   case "3":reg=/[A-Z]{2}\d{11}/;    // Italy     
            break  
    case "4":reg=/[A-Z]{2}\w{12}/;    // Holand         
            break          
   case "5":reg=/[A-Z]{2}0\d{9}/;     // Belgium      
            break  
   case "6": reg=/[A-Z]{2}\d{8}/;  // Luxemburg
              break 
    case "7":reg=/[A-Z]{2}\d{9}/;  //United Kingdom
            break       
   case "8": reg=/[A-Z]{2}\d{2}\s\d{2}\s\d{2}\s\d{2}/;//Danmark 
             break                      
   case "9":reg=/[A-Z]{2}\w{7}[A-Z]/;//Ireland
             break
   case "10":reg=/[A-Z]{2}\d{9}/;//Greece
            break
   case "11":reg=/[A-Z]{2}\d{9}/;//Portugal 
            break 
   case "12":reg=/[A-Z]{2}\w\d{7}\w/;//Spain
            break  
    case "13": reg=/[A-Z]{2}U\d{8}/; // Austria           
            break    
    case "14":reg=/[A-Z]{2}\d{10}01/;    //    Sweden         
            break                               
   case "15":reg=/[A-Z]{2}\d{8}/;//Finland
             break
   case "16":reg=/[A-Z]{2}\d{8}/;//Malta
            break
   case "17":reg=/[A-Z]{2}\w{9}/;//Cyprus
            break     
   case "18":reg=/[A-Z]{2}\d{10}/;      // poland      
            break   
   case "19":reg=/[A-Z]{2}\d{8}/;//Hungary
            break      
   case "20":reg=/[A-Z]{2}\d{8}/;//Czech Duchy
            break
   case "21":reg=/[A-Z]{2}\d{10}/;//oviet Republic of Slovakia
            break                 
   case "22":reg=/[A-Z]{2}\d{8}/;//Slovenia
            break
   case "23":reg=/[A-Z]{2}\d{9}/;//Esthonia
            break
 case "24":reg=/[A-Z]{2}\d{11}/;    //   Latvia         
            break
  case "25":reg=/[A-Z]{2}\d{9}/;//lithuania
            break
 case "26":reg=/[A-Z]{2}\d{1}/;//Rumania
            break
                       
 case "27":reg=/[A-Z]{2}\d{9}/;//Bulgaria
            break
                       
   default:reg=/[A-Z]{2}\d{9}/;
            break
}

     
   if(reg.test(obj))
        {
            return true;
        } 
        else
            return false;
    }
}
//过滤各国家税号
function validatevat(obj,country)
{

var co=country;
switch (co)
   {
   case "1":if(validatenumstringdk(obj,co,13,13)) return true;else return false;             
  // case "1":if(validatebusiness(obj,14,14)) return true;else return false;             
            break
   case "2":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
            break   
   case "3":if(validatenumstringdk(obj,co,13,13)) return true;else return false;;                 
            break  
    case "4":if(validatenumstringdk(obj,co,14,14)) return true;else return false;                
            break        
   case "5":if(validatenumstringdk(obj,co,12,12)) return true;else return false;                 
            break
   case "6": if(validatenumstringdk(obj,co,10,10))return true;else return false;
             break 
   case "7":if(validatenumstringdk(obj,co,11,11)||validatenumstringdk(obj,co,14,14)||validatenumstringdk(obj,co,7,7)) return true;else return false;
            break   
   case "8":if(validatenumstringdk(obj,co,13,13)) return true;else return false;
             break                                     
   case "9":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
             break
   case "10":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
            break
   case "11":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
            break
   case "12":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
            break  
    case "13":if(validatenumstringdk(obj,co,11,11)) return true;else return false;               
            break
    case "14":if(validatenumstringdk(obj,co,14,14)) return true;else return false;                 
            break                                
   case "15":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
             break
   
   case "16":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
            break
   case "17":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
            break 
    case "18":if(validatenumstringdk(obj,co,12,12)) return true;else return false;                
            break   
   case "19":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
            break   
   case "20":if(validatenumstringdk(obj,co,10,12)) return true;else return false;
            break
    case "21":if(validatenumstringdk(obj,co,12,12)) return true;else return false;
            break                       
   case "22":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
            break
   case "23":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
            break
 case "24":if(validatenumstringdk(obj,co,13,13)) return true;else return false;                
            break
  
  case "25":if(validatenumstringdk(obj,co,11,11)||validatenumstringdk(obj,co,14,14)) return true;else return false;
            break
   
   case "26":if(validatenumstringdk(obj,co,4,12)) return true;else return false;
            break
   case "27":if(validatenumstringdk(obj,co,11,12)) return true;else return false;
            break
   default:  return true;
    }
}


//验证法国商业注册号
function validatevatEnterpriseCode(obj,country)
{

var co=country;
switch (co)
   {
   //case "1":if(validatenumstringdk(obj,co,13,13)) return true;else return false;             
   case "1":if(validatebusiness(obj,14,14)) return true;else return false;             
            break
//   case "2":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
//            break   
//   case "3":if(validatenumstringdk(obj,co,13,13)) return true;else return false;;                 
//            break  
//    case "4":if(validatenumstringdk(obj,co,14,14)) return true;else return false;                
//            break        
//   case "5":if(validatenumstringdk(obj,co,12,12)) return true;else return false;                 
//            break
//   case "6": if(validatenumstringdk(obj,co,10,10))return true;else return false;
//             break 
//   case "7":if(validatenumstringdk(obj,co,11,11)||validatenumstringdk(obj,co,14,14)||validatenumstringdk(obj,co,7,7)) return true;else return false;
//            break   
//   case "8":if(validatenumstringdk(obj,co,13,13)) return true;else return false;
//             break                                     
//   case "9":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
//             break
//   case "10":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
//            break
//   case "11":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
//            break
//   case "12":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
//            break  
//    case "13":if(validatenumstringdk(obj,co,11,11)) return true;else return false;               
//            break
//    case "14":if(validatenumstringdk(obj,co,14,14)) return true;else return false;                 
//            break                                
//   case "15":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
//             break
//   
//   case "16":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
//            break
//   case "17":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
//            break 
//    case "18":if(validatenumstringdk(obj,co,12,12)) return true;else return false;                
//            break   
//   case "19":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
//            break   
//   case "20":if(validatenumstringdk(obj,co,10,12)) return true;else return false;
//            break
//    case "21":if(validatenumstringdk(obj,co,12,12)) return true;else return false;
//            break                       
//   case "22":if(validatenumstringdk(obj,co,10,10)) return true;else return false;
//            break
//   case "23":if(validatenumstringdk(obj,co,11,11)) return true;else return false;
//            break
// case "24":if(validatenumstringdk(obj,co,13,13)) return true;else return false;                
//            break
//  
//  case "25":if(validatenumstringdk(obj,co,11,11)||validatenumstringdk(obj,co,14,14)) return true;else return false;
//            break
//   
//   case "26":if(validatenumstringdk(obj,co,4,12)) return true;else return false;
//            break
//   case "27":if(validatenumstringdk(obj,co,11,12)) return true;else return false;
//            break
   default:  return true;
    }
}