註冊頁面的js驗證

程序效果地址:http://product.e-works.net.cn/CompanyRegister.aspx

js 代碼如下:

// 回調返回的消息
var CALLBACK_MESSAGE_CAN = '可以' ;     // 正常的
var CALLBACK_MESSAGE_NOT = '不可以' ;        // 文件未找到

 //消除前後空格和多餘的回車換行
function KindTrim(str)
{
 str = str.replace(/^/s+|/s+$/g, "");
 str = str.replace(/[/r/n]+/g, "/r/n");
 return str;
}
//返回對象  
function $(o)
{
 return document.getElementById(o);
}

// 函數說明 : 檢測廠商名 [ 驗證廠商名是否可以註冊 ]
function CheckCompanyName()
{
 var vrUser = $('tboxCompanyName');  
 var vrUserDiv = $('nameDiv') ; 
 var userName = KindTrim(vrUser.value) ;    
 if (userName.length <= 0)
 {     
  DecorateTagCss(vrUserDiv,'error','廠商名不能爲空。') ;  
  return false;
 }
 else if(userName.length >50)
 {  
  DecorateTagCss(vrUserDiv,'error','廠商名稱不能超過50個字符.') ;  
  return false;
 }
 else
 {       
    DecorateTagCss(vrUserDiv,'decorate','系統正在檢測您的廠商名,請稍後...') ;    
    SendRequest("GET","AjaxServer/RegisterInfoCheck.aspx?CompanyName="+escape(userName),null,UserNameCallbackHandler) ; 
 }
}


// 函數說明 : 處理服務器回傳消息  [ 驗證用戶名是否可以註冊 ]
function UserNameCallbackHandler()
{
     var responseText = null ;
  if (xmlHttp.readyState == ready_state_complete)
  {
        if (xmlHttp.status == http_status_complete)
        {    
            responseText = xmlHttp.responseText ;
   if( responseText == CALLBACK_MESSAGE_CAN)
   {
       $('nameDiv').className = 'ok' ;
    $('nameDiv').innerHTML = "該廠商名可以註冊。";   
   }
   else
   {
       $('nameDiv').className = 'error' ;
    $('nameDiv').innerHTML = "該廠商名已經有人註冊。";
   }  
        }
        else
        {
           // alert("頁面有異常。");
        }
    }
}

 

// 處理鎖定焦點的操作
function HandleOnFocusEvent(objId)
{
   var obj = $(objId) ;
   if (obj)
   {
        // 去掉
        var keys = document.getElementsByTagName('div') ;       
        if (keys)
        {
           for ( var i = 0; i < keys.length; i++)
           {
               var key = keys[i] ;
               // 排除掉用戶和email的div
               var valideDiv = (key.id.toLowerCase().indexOf('div') > 0) && (key.id.toLowerCase() != 'namediv')  ;
               valideDiv = valideDiv && (key.id.toLowerCase() != 'vrAnswerDiv')  ;
               if (valideDiv)
               {                
                  if (key.className == 'decorate') 
                     key.className = 'commonText' ;
               }
           }
        }       
        obj.className = 'decorate' ;
   }
}
// 處理喪失焦點時的操作 參數 : 輸入框id 顯示框id
// 要處理的對象包括:密碼 真實姓名 出生年月  手機 電子Email
function HandleOnBlurEvent(tbxId,divId)
{
   var tbxObj = $(tbxId) ;
   var divObj = $(divId) ;  
   if (tbxObj && divObj)
   {
        var keyId = tbxObj.id ; //
        var keyValue = KindTrim(tbxObj.value)
        if(keyId=='tboxProductIntro')
        {
         if(keyValue=="")
         {
                DecorateTagCss(divObj,'error','主營產品說明不能爲空。') ;       
    return false;
      }
  }
     else
     {
       DecorateTagCss(divObj,'ok','填寫正確。') ;  
     }
 }
  
  if(keyId=='tboxWebSite')
        {
         if(keyValue=="")
          {
           DecorateTagCss(divObj,'error','廠商網址不能爲空。') ;       
    return false;
    }
     if (keyValue.length >50)   //  檢測是否填寫了廠商介紹
     {
         DecorateTagCss(divObj,'error','廠商網址不能超過50個字符。') ;                   return false;                
     }
     else
  {
   DecorateTagCss(divObj,'ok','填寫正確。') ;  
  }
 } 
  if(keyId=='ddlCompanyType')
        {
          if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "0")
          {
           DecorateTagCss(divObj,'error','請選擇廠商類別。') ;       
    return false;
    }
    else
  {
    DecorateTagCss(divObj,'ok','填寫正確。') ; 
  }
   
 }
  if(keyId=='ddlCompanyCountry')
        {
          if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "0")
          {
           DecorateTagCss(divObj,'error','請選擇廠商國別。') ;       
    return false;
    }
    else
  {
    DecorateTagCss(divObj,'ok','填寫正確。') ; 
  }
   
 }
  if(keyId=='ddlCompanyField')
        {
          if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "0")
          {
           DecorateTagCss(divObj,'error','請選擇廠商領域。') ;       
    return false;
    }
    else
  {
    DecorateTagCss(divObj,'ok','填寫正確。') ;  
  }
   
 }
  if(keyId=='city')
        {
          if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "")
          {
           DecorateTagCss(divObj,'error','請選擇所在城市。') ;       
    return false;
    }
    else
  {
    DecorateTagCss(divObj,'ok','填寫正確。') ; 
  }
   
 } 
  if(keyId=='tboxAdress')
        {
          if (keyValue=="")
          {
           DecorateTagCss(divObj,'error','廠商地址不能爲空。') ;       
    return false;
    }
    else
  {
    DecorateTagCss(divObj,'ok','填寫正確。') ; 
  }
   
 }
  if(keyId=='tboxlinkName')
        {
          if (keyValue=="")
          {
           DecorateTagCss(divObj,'error','請填寫聯繫人的姓名。') ;       
    return false;
    }
    else
  {
   DecorateTagCss(divObj,'ok','填寫正確。') ;  
  }
   
 } 
  if(keyId=='tboxPhone')
        {
          if (keyValue=="")
         {
           DecorateTagCss(divObj,'error','電話不能爲空。') ;       
   return false;
   }
      if(!checkPhone(keyValue))
  {     
  DecorateTagCss(divObj,'error','電話格式不正確,請填寫區號,且區號和其他部分請用"-"隔開。') ;       
        return false;       
  }
  
   DecorateTagCss(divObj,'ok','填寫正確。') ;  
  
 }
  if(keyId=='tboxFax')
        {
          if (keyValue=="")
          {
           DecorateTagCss(divObj,'error','傳真不能爲空。') ;       
    return false;
    }
     else if(!checkPhone(keyValue))
  {     
    DecorateTagCss(divObj,'error','傳真格式不正確,請填寫區號,且區號和其他部分請用"-"隔開。') ;       
    return false;       
  }
  
   DecorateTagCss(divObj,'ok','填寫正確。') ; 
  
 } 
  if(keyId=='tboxEmail')
        {
          if (keyValue=="")
          {
           DecorateTagCss(divObj,'error','電子郵件不能爲空。') ;       
    return false;
    }
     else if(!checkMail(keyValue))
  {     
  DecorateTagCss(divObj,'error','電子郵件格式不正確,請重新輸入。') ;      
  return false;       
  }
  
   DecorateTagCss(divObj,'ok','填寫正確。') ; ;
  
 }
  if(keyId=='tbUserName')
        {
          if (keyValue=="")
          {
           DecorateTagCss(divObj,'error','登陸帳號不能爲空。') ;       
    return false;
    }
    else if (keyValue.length > 20)
  {  
   DecorateTagCss(divObj,'error','登陸帳號不能超過20個字符。') ;
   return false;
  } 
  
   DecorateTagCss(divObj,'ok','填寫正確。') ;  
  
 }
  if(keyId=='tbPassWord')
        {
          if (keyValue=="")
  {    
      DecorateTagCss(divObj,'error','登錄密碼不能爲空,長度必須在6-12位之間') ;
   return false;  
  }
    else if (keyValue.length > 12)
  {  
   DecorateTagCss(divObj,'error','登錄密碼不能爲空,長度必須在6-12位之間') ;
   return false;
  }
  
   DecorateTagCss(divObj,'ok','填寫正確。') ;  
   
 }
  if(keyId=='tbQuestion')
        {
          if (keyValue=="")
  {    
      DecorateTagCss(divObj,'error','密碼保護問題不能爲空。') ;
   return false;  
  }
    else if (keyValue.length > 20)
  {  
   DecorateTagCss(divObj,'error','密碼保護問題不能超過20個字符。') ;
   return false;
  }
  
   DecorateTagCss(divObj,'ok','填寫正確。') ;  
   
 }
  if(keyId=='tbAnswer')
        {
          if (keyValue=="")
  {    
      DecorateTagCss(divObj,'error','密碼保護問題不能爲空。') ;
   return false;  
  }
    else if (keyValue.length > 20)
  {  
   DecorateTagCss(divObj,'error','密碼保護問題不能超過20個字符。') ;
   return false;
  }
  
    DecorateTagCss(divObj,'ok','填寫正確。') ; 
   
 }              
        
   
   }
}

// 檢測區域內的checkbox
function CheckRegionalInput(parentDiv,tagName,type)
{
  //  alert('開始檢測');
    //當前節點
    var parentNode = document.getElementById(parentDiv);   
    var inputArray = parentNode.getElementsByTagName(tagName) ;

    var flag = false ;
    // 集合數量
    var length = inputArray.length ;                
    for(var i = 0; i < length; i++)
    {
  if(inputArray.item(i).type == type)  //爲構選框
  {
   if(inputArray.item(i).checked)
   {
    flag = true ;
    break ;
   } 
  }
    } 
 return flag ;                
}


// 計算區域內checkbox選中的Value序列
function GetRegionalInputCheckdListText(parentDiv,tagName,type)
{
    //當前節點
    var parentNode = document.getElementById(parentDiv);   
    var inputArray = parentNode.getElementsByTagName(tagName) ;

    var valueList = '' ;
    // 集合數量
    var length = inputArray.length ;                
    for(var i = 0; i < length; i++)
    {
  if(inputArray.item(i).type == type)  //爲構選框
  {
   if(inputArray.item(i).checked)
   {
    valueList += inputArray.item(i).title + "," ;        
   } 
  }
    } 
    valueList = KindTrim(valueList) ;   
    if (valueList.length > 0 && valueList.lastIndexOf(',') > 0)
    {      
       valueList = valueList.substr(0,valueList.length-1) ;
    }
 return valueList ;                
}

//裝飾標籤  給節點加上樣式表值和文字
function DecorateTagCss(obj,cssName,innerHtml)
{
   if (obj)
   {
      obj.className = cssName ;
      obj.innerHTML = innerHtml ;
   }
}
function checkPhone(phone)
{
//國家代碼(2到3位)-區號(2到3位)-電話號碼(7到8位)-分機號(3位)"

var pattern =/^(([0/+]/d{2,3}-)?(0/d{2,3})-)?(/d{7,8})(-(/d{3,}))?$/;
//var pattern =/(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/

     if(phone!="")
     {
         if(!pattern.test(phone))
         {
           return false;
           }
         else
         return true;
     }
}
function checkMail(str)
{
    var mailArray;  
    var patterns =/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/; 
    mailArray=str.split(",");
    for(i=0;i<mailArray.length;i++)
    {
        if(patterns.test(mailArray[i]))//郵件地址符合
        {
            return true;
        }
        else   //郵件地址不符合
        {   
            return false;
        }
    }
}

function CheckForm()
{
  //廠商名稱檢查
 var vrUser = $('tboxCompanyName');  
 var vrUserDiv = $('nameDiv') ;   
 var userName = KindTrim(vrUser.value) ;    
 if (userName.length <= 0)
 {  
  DecorateTagCss(vrUserDiv,'error','廠商名稱不能爲空.') ;  
  return false;
 }
 
 //產品介紹
 var ProductIntro = $('tboxProductIntro') ;
 var vrproductDiv = $('ProductIntroDiv') ; 
 var productValue = KindTrim(ProductIntro.value) ;
 
 if (productValue.length == 0)
 {       
  DecorateTagCss(vrproductDiv,'error','主營產品說明不能爲空。') ;        
  return false;
 }
 if (productValue.length >300)
 {       
  DecorateTagCss(vrproductDiv,'error','主營產品說明不能超過300個字符。') ;        
  return false;
 }     

   //廠商網址檢測
   var vrWebSite = $('tboxWebSite') ;
   var WebSiteDiv = $('WebSiteDiv') ;
   var WebSite = KindTrim(vrWebSite.value) ;
   if (WebSite.length <= 0)
   {
      DecorateTagCss(WebSiteDiv,'error','廠商網址不能爲空。') ;       
   return false; 
   }
    if (WebSite.length>50)   //  檢測是否填寫了廠商介紹
     {
         DecorateTagCss(WebSiteDiv,'error','廠商網址不能超過50個字符。') ;                     
   return false;                
     }

  //廠商介紹 
//     var CompanyIntro = $('tboxCompanyIntro') ;     
//  var vrCompanyIntro = $('CompanyIntroDiv') ;
//     if (KindTrim(CompanyIntro.value).length >300)   //  檢測是否填寫了廠商介紹
//     {
//         DecorateTagCss(vrCompanyIntro,'error','廠商介紹不能超過300個字符。') ;                     
//   return false;                
//     }
       //廠商類型
     //var ComapnyLevel =  $('rblComapnyLevel') ; //廠商類型 *  
    // var ComapnyLeveDiv = $('ComapnyLeveDiv') ;
   //if (KindTrim(ComapnyLevel.options[ComapnyLevel.selectedIndex].value) == "0")
    //{     
   //  DecorateTagCss(ComapnyLeveDiv,'error','請選擇您所在的行業。') ;       
   //        return false;
   // }  
   
       //廠商類別
     var CompanyType =  $('ddlCompanyType') ; //廠商類別  
     var vrCompanyTypeDiv = $('CompanyTypeDiv') ;
   if (KindTrim(CompanyType.options[CompanyType.selectedIndex].value) == "0")
    {     
     DecorateTagCss(vrCompanyTypeDiv,'error','請選擇廠商類別。') ;       
           return false;
    }
    
         //廠商國別
     var CompanyCountry =  $('ddlCompanyCountry') ; //廠商國別 *  
     var vrCompanyCountryDiv = $('CompanyCountryDiv') ;
   if (KindTrim(CompanyCountry.options[CompanyCountry.selectedIndex].value) == "0")
    {     
     DecorateTagCss(vrCompanyCountryDiv,'error','請選擇廠商國別。') ;       
           return false;
    } 
      
       //廠商的領域
     var CompanyField =  $('ddlCompanyField') ; //廠商的領域 *  
     var vrCompanyFieldDiv = $('CompanyFieldDiv') ;
   if (KindTrim(CompanyField.options[CompanyField.selectedIndex].value) == "0")
    {     
     DecorateTagCss(vrCompanyFieldDiv,'error','請選擇廠商領域。') ;       
           return false;
    } 
    
       //所在城市
     var city =  $('city') ; //所在城市   
     var vrcityDiv = $('CityDiv') ;
   if (KindTrim(city.options[city.selectedIndex].value) == "")
    {     
     DecorateTagCss(vrcityDiv,'error','所在城市。') ;       
           return false;
    }
       //廠商地址 
     var Adress = $('tboxAdress') ;     
  var vrAdress = $('AdressDiv') ;
     if (KindTrim(Adress.value).length == 0)   //  檢測是否填寫了廠商介紹
     {
         DecorateTagCss(vrAdress,'error','廠商地址不能爲空。') ;                     
   return false;                
     }
       //聯繫人
     var linkName = $('tboxlinkName') ;     
  var vrlinkName = $('linkNameDiv') ;
     if (KindTrim(linkName.value).length == 0)   //  檢測是否填寫了廠商介紹
     {
         DecorateTagCss(vrlinkName,'error','請填寫聯繫人的姓名。') ;                     
   return false;                
     }
        //電話號碼
        var re = /^(-|/+)?/d+(/./d+)?$/ ;
     var vrTelephone = $('tboxPhone') ;    
  var vrPhoneDiv = $('PhoneDiv') ;
         if (KindTrim(vrTelephone.value).length == 0)   //  檢測是否填寫了電話
     {
         DecorateTagCss(vrPhoneDiv,'error','電話不能爲空。') ;                     
   return false;                
     }
     else if(!checkPhone(vrTelephone.value))
  {     
    DecorateTagCss(vrPhoneDiv,'error','電話格式不正確,請填寫區號,且區號和其他部分請用"-"隔開。') ;       
    return false;       
  }
   //傳真
     var vrFax = $('tboxFax') ;    
  var vrFaxDiv = $('FaxDiv') ;
         if (KindTrim(vrFax.value).length == 0)   //  檢測是否填寫了電話
     {
         DecorateTagCss(vrFaxDiv,'error','傳真不能爲空。') ;                     
   return false;                
     }
      else if(!checkPhone(vrFax.value))
  {     
    DecorateTagCss(vrFaxDiv,'error','傳真格式不正確,請填寫區號,且區號和其他部分請用"-"隔開。') ;       
    return false;       
  }
  

        //email檢測
     var vrEmail = $('tboxEmail') ;
     var vrEmailDiv = $('EmailDiv') ;
  var emailValue = KindTrim(vrEmail.value) ;
//  var rStr = new RegExp("[^a-z,0-9,_,--,@,/.]", "ig");
//  var isEmail = (!emailValue.match(rStr)) && (emailValue.length > 5) && (emailValue.indexOf('@') > 0) && (emailValue.indexOf('.') > 0) ;
 
  if (emailValue.length <= 0)
  {    
      DecorateTagCss(vrEmailDiv,'error','電子郵件不能爲空。') ;
   return false;  
  }
  else if (!checkMail(emailValue))
  {  
   DecorateTagCss(vrEmailDiv,'error','電子郵件格式不正確,請重新輸入。') ;
   return false;
  } 
 
     //用戶名檢測
     var vrUserName = $('tbUserName') ;
     var vrUserNameDiv = $('UserNameDiv') ;
  var UserNameValue = KindTrim(vrUserName.value) ;
  
  if (UserNameValue.length <= 0)
  {    
      DecorateTagCss(vrUserNameDiv,'error','登陸帳號不能爲空。') ;
   return false;  
  }
  else if (UserNameValue.length > 20)
  {  
   DecorateTagCss(vrUserNameDiv,'error','登陸帳號不能超過20個字符。') ;
   return false;
  } 
    
     //密碼檢測
     var vrPassWord = $('tbPassWord') ;
     var vrPassWordDiv = $('PassWordDiv') ;
  var PassWordvalue = KindTrim(vrPassWord.value) ;
  
  if (PassWordvalue.length < 6)
  {    
      DecorateTagCss(vrPassWordDiv,'error','登錄密碼不能爲空,長度必須在6-12位之間') ;
   return false;  
  }
  else if (PassWordvalue.length > 12)
  {  
   DecorateTagCss(vrPassWordDiv,'error','登錄密碼不能爲空,長度必須在6-12位之間') ;
   return false;
  } 
  
     //密碼保護問題檢測
     var vrQuestion = $('tbQuestion') ;
     var vrQuestionDiv = $('QuestionDiv') ;
  var QuestionValue = KindTrim(vrQuestion.value) ;
  
  if (QuestionValue.length <= 0)
  {    
      DecorateTagCss(vrQuestionDiv,'error','密碼保護問題不能爲空。') ;
   return false;  
  }
  else if (QuestionValue.length > 20)
  {  
   DecorateTagCss(vrQuestionDiv,'error','密碼保護問題不能超過20個字符。') ;
   return false;
  } 
  
     //密碼保護問題答案檢測
     var vrAnswer = $('tbAnswer') ;
     var vrAnswerDiv = $('AnswerDiv') ;
  var AnswerValue = KindTrim(vrAnswer.value) ;
  
  if (AnswerValue.length <= 0)
  {    
      DecorateTagCss(vrAnswerDiv,'error','密碼保護問題答案不能爲空。') ;
   return false;  
  }
  else if (AnswerValue.length > 20)
  {  
   DecorateTagCss(vrAnswerDiv,'error','密碼保護問題答案不能超過20個字符。') ;
   return false;
  }
  
  return true;


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章