熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

網頁表單的javascript集成驗證方法舉例

2013-11-15 11:48:53  來源: JSP教程 
  作為一名Web設計人員一名Coder你是否已經厭倦了網頁設計中的表單驗證問
題?不厭其煩的拷貝 if(x) { alert(wrong);} 還是使用一個難以盡和我意的
IDE ?好吧讓我來告訴你一種比較lazy的寫法你也許就不會對表單驗證那麼頭大
了……
    原理
           表單驗證無非是要對要收集每一條信息進行驗證也就是要寫一個名為
       frmValid的javascript函數在其中執行如下操作
            
             if (待驗證條目 不符合條件)
             {
                  alert(出錯了!);
                  待驗證條目focus();
                  return false;
             }
            
             // all right
             return true;
           當然<form  onsubmit=return frmValid()>必須包含在
       HTML代碼中想想看待驗證條目越多代碼越長也就越容易出錯
           下面我們把驗證條目放到一個數組裡如下
             elemArray = new Array(
                 待驗證條目名
                 驗證條件
                 出錯提示);
           那麼驗證代碼將大大精簡我們只要如下使用循環就可實現上述冗長
       代碼時下的功能這裡我們用with和eval語句構造判斷條件
             with(eval(obj+elems[i][]))
             {
                 if(eval(elems[i][]))
                 {
                     windowalert(elems[i][]);
                     focus();
                     return false;
                 }
             }
           我們建立多位數組就可實現循環遍歷每個條目
             elems = new Array(
                 new Arrary( )
                 
             );
             for(i = ; i < elemslength; i++)
             {
                 // 上面的驗證語句
             }

    
    實戰
        使用如下例子編寫驗證腳本
<SCRIPT LANGUAGE=javascript type=text/javascript>
//
// Function: frmValid
//
// Author    hongz
// Usage:    YourFormonsubmit=return frmValid(this)
// Purpose:  To validate form elements in an integrated way
//
function frmValid(obj)
{
    // Elements array initialization for validation
    elems = new Array(
        new Array(
            username  // name of elements to be validated
            valuelength< || valuesearch(/[^azAz_]/)>= 
                         // validation condition
            無效的用戶名:只能輸入位字母數字下劃線的組合!)
                         // prompt on failure
        new Array(
            password 
            valuelength< || valuesearch(/[^azAz_]/)>= 
            無效的密碼:只能輸入位字母數字下劃線的組合!)
        new Array(
            email 
            isMail(value)==false 
            Email是您在網上的重要聯絡工具請務必正確填寫!)
    );

    // Validate here using eval statement
    for(i = ; i < elemslength; i++)
    {
        with(eval(obj+elems[i][]))
        {
            if(eval(elems[i][]))
            {
                windowalert(elems[i][]);
                focus();
                return false;
            }
        }
    }
    return true;
}
//>
</SCRIPT>
        為form添加onsubmit屬性
           <form onsubmit=return frmValid(this)>

    如果你感覺我的方法還行的話那我歡迎你使用呵呵……
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19666.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.