国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用 JSP 在客戶端生成 JavaScript 代碼來完成表單校驗

用 JSP 在客戶端生成 JavaScript 代碼來完成表單校驗

更新時間:2022-05-03 文章作者:未知 信息來源:網絡 閱讀次數:

用 JSP 在客戶端生成 JavaScript 代碼來實現表單校驗

●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○ 作者:劉湛   日期:2000-01-05   jeru@163.net ●
● http://www.cyberlabs.com/~jeru/          ○
○ 歡迎訪問爪哇人,獲取更多資料           ●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○

今天費了一天時間就是做這個東西,原理很簡單,就是用 JSP 在頁面的開始部分生成一段代碼,
如 errorcheck.jsp 中所示,但程序太長,還是費了我不少時間來改寫。

主程序是名為 ErrorCheck.java ,有了這個 ErrorCheck 的 Bean,我們就再也不用為了表單校驗去
寫那一大堆煩人的 JavaScript 代碼了。ErrorCheck 類已幫我們生成了幾乎所有你將會用到的校驗方法,
如是否為數字,長度的校驗,是否為合法email等,你只需在 jsp 頁面里調用相應的函數就可以了。

目前一共有七個函數:

一 檢測是否為數字
//輸入輸入框名和錯誤提示信息
numericCheck(String inputName,String errorMsg);

二 檢測email是否合法
//輸入輸入框名和錯誤提示信息
emailCheck(String inputName,String errorMsg);

三 檢測電話號碼是否合法
//輸入輸入框名和錯誤提示信息
telCheck(String inputName,String errorMsg);

四 檢測字串長度是否在規定范圍那內
//輸入輸入框名,錯誤提示信息,最小長度,最大長度
lengthCheck(String inputName,String errorMsg,int min,int max);

五 檢測字串中是否不含禁止的字串
//輸入輸入框名,錯誤提示信息,禁止字串
denyStrCheck(String inputName,String errorMsg,String str);

六 檢測字串中是否含給定字串
//輸入輸入框名,錯誤提示信息,指定字串
stringCheck(String inputName,String errorMsg,String str);

七 檢測日期格式是否為 "yyyy-mm-dd"
//輸入輸入框名和錯誤提示信息
dateCheck(String inputName,String errorMsg);

只要調用一下這個bean,然后用setFromName()設定你的表單名,再調用以上函數,
最后 out.println(yourID.ErrorCheckScript()),就輸出了一段 JavaScript 代碼了,當然了,
別忘了這個 <form name=myForm onsubmit="return errorCheck();">

ok,just enjoy it,今天太累,不想多少,有任何意見請寫信給我或在我主頁上留言。

注:我調試 errorcheck.jsp 的時候因服務器的問題不知為何不能用 usebean,setProperty 的方法,
只好 new 了一下,我想你們是應該可以用useBean和setProperty的,自己改一下吧。

===================================== errorcheck.jsp =====================================

<%@ page language="java" import="dbclass.*" %>
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="cc" scope="page" class="dbclass.ErrorCheck" />

<%
ErrorCheck ec = new ErrorCheck();
ec.setFormName("myForm");
ec.numericCheck("number","The Number you input is invalid!");
ec.emailCheck("email","The Email you input is invalid!");
ec.telCheck("tel","The telephone you input is invalid!");
ec.lengthCheck("strlen","The string you input in the fourth field in not between 6-8",6,8);
ec.denyStrCheck("nojeru","The fifith field must not contain 'jeru'","jeru");
ec.stringCheck("jeru","The sixth field must not null and contian 'jeru'","jeru");
ec.dateCheck("date","The date you input is invalid,should be yyyy-mm-dd");
out.println(ec.ErrorCheckScript());
%>

<html>
<body style="font-size:9pt; font-family:Arial;">
<h1>Errocheck Test</h1>
<hr>
<form name=myForm onsubmit="return errorCheck();">

input a number:<br>
<input type="text" name="number"><p>

input a emial:<br>
<input type="text" name="email"><p>

input a telephone:<br>
<input type="text" name="tel"><p>

input a string (length should between 6-8):<br>
<input type="text" name="strlen"><p>

input a string (shoulde not contain "jeru"):<br>
<input type="text" name="nojeru"><p>

input a string (must contain "jeru"):<br>
<input type="text" name="jeru"><p>

input a date (yyyy-mm-dd):<br>
<input type="text" name="date"><p>

<br><input type="submit" name="submit" value="go">
</form>
</body>
</html>

===================================== ErrorCheck.java =====================================

package dbclass;
/**
* ErrorCheck v 1.0
*
* 這個類是用來在客戶端生成 JavaScript 代碼來校驗表單的
* 原是版本是同事 Macro 用 PHP 寫的,我感覺十分好用,再也
* 不用再為那些表單區寫煩人的 javascript 代碼拉,感謝他!
* 這次我用 Java 改寫,封裝成一個類,并修復了少許的 bug,加
* 多了一條校驗的功能,它的擴展性很好,以后可能會繼續完善。
*
* Mender :
* Jeru Liu
* Homepage :
* http://www.cyberlabs.com/~jeru/
* Email: jeru@163.net
*
*/

import java.io.*;

public class ErrorCheck{

/* public: the javascript string */
String errorCheckStr;

/* public: the form name you used */
public String formName;

public void setFormName(String formName) {
 this.formName = formName;
}

/***************************************************************************\
*public: constructor functions
*構造函數
\***************************************************************************/
public ErrorCheck(){
 this.errorCheckStr =
 "<script ID=clientEventHandlersJS language=javascript>" + "\n" +
 "<!--" + "\n";
 this.neededFunction();// load the needed functions
 this.errorCheckStr +=
 "function errorCheck() {" + "\n";
}

/***************************************************************************\
 *public: export javascript script
 *輸出 JAVASCRIPT 腳本
\***************************************************************************/
public String ErrorCheckScript(){
this.errorCheckStr +=
"}" + "\n" +
"-->" + "\n" +
"</script>" + "\n";
return this.errorCheckStr;
}

/***************************************************************************\
 *public: check the numeric
 *檢查錄入框值是否是數字
\***************************************************************************/
public void numericCheck(String inputName, String errorMsg){
this.errorCheckStr +=
"if(fucCheckNUM(document."+formName+"."+inputName+".value) == 0) {" + "\n" +
"alert(\""+errorMsg+".\");" + "\n" +
"document."+formName+"."+inputName+".focus();" + "\n" +
"return(false);" + "\n" +
"}" + "\n\n";
}

/***************************************************************************\
 *public: check the length
 *檢查錄入框值的長度
\***************************************************************************/
public void lengthCheck(String inputName, String errorMsg, int MinLength, int MaxLength) {
this.errorCheckStr +=
"if(fucCheckLength(document."+formName+"."+inputName+".value)<"+MinLength+" || " + "\n" +
"fucCheckLength(document."+formName+"."+inputName+".value)>"+MaxLength+") {" + "\n" +
"alert(\""+errorMsg+".\");" + "\n" +
"document."+formName+"."+inputName+".focus();" + "\n" +
"return(false);" + "\n" +
"}" + "\n\n";
}

/***************************************************************************\
 *public: check the email
 *檢查錄入框值是否是正確的EMAIL格式
\***************************************************************************/
public void emailCheck(String inputName, String errorMsg){
this.errorCheckStr +=
"if(chkemail(document."+formName+"."+inputName+".value) == 0) {" + "\n" +
"alert(\""+errorMsg+".\");" + "\n" +
"document."+formName+"."+inputName+".focus();" + "\n" +
"return(false);" + "\n" +
"}" + "\n\n";
}

/***************************************************************************\
 *public: check the telephone number
 *檢查錄入框值是否是電話號碼
\***************************************************************************/
public void telCheck(String inputName, String errorMsg){
this.errorCheckStr +=
"if(fucCheckTEL(document."+formName+"."+inputName+".value) == 0) {" + "\n" +
"alert(\""+errorMsg+".\");" + "\n" +
"document."+formName+"."+inputName+".focus();" + "\n" +
"return(false);" + "\n" +
"}" + "\n\n";
}

/***************************************************************************\
 *public: check if the input value contian the prefered string
 *檢查錄入框值是否是包含給定字串
\***************************************************************************/
public void stringCheck(String inputName, String errorMsg, String string){
this.errorCheckStr +=
"if(document."+formName+"."+inputName+".value.indexOf(\""+string+"\") != 0) {" + "\n" +
"alert(\""+errorMsg+".\");" + "\n" +
"document."+formName+"."+inputName+".focus();" + "\n" +
"return(false);" + "\n" +
"}" + "\n\n";
}

/***************************************************************************\
 *public: check if the input value contain the denyed string
 *檢查錄入框值是否是包含給禁止的字串
\***************************************************************************/
public void denyStrCheck(String inputName, String errorMsg, String string){
this.errorCheckStr +=
"if (document."+formName+"."+inputName+".value.length == 0 || " + "\n" +
"document."+formName+"."+inputName+".value.indexOf(\""+string+"\") != -1) {" + "\n" +
"alert(\""+errorMsg+".\");" + "\n" +
"document."+formName+"."+inputName+".focus();" + "\n" +
"return(false);" + "\n" +
"}" + "\n\n";
}

/***************************************************************************\
 *public: check the YYYY-MM-DD format date
 *檢查錄入框值是否是YYYY-MM-DD的日期格式
\***************************************************************************/
public void dateCheck(String inputName, String errorMsg){
this.errorCheckStr +=
"if(chkdate(document."+formName+"."+inputName+".value) == 0) {" + "\n" +
"alert(\""+errorMsg+".\");" + "\n" +
"document."+formName+"."+inputName+".focus();" + "\n" +
"return(false);" + "\n" +
"}" + "\n\n";
}


public void neededFunction(){
this.errorCheckStr += 
"//函數名:fucCheckNUM" + "\n" +
"//功能介紹:檢查是否為數字" + "\n" +
"//參數說明:要檢查的數字" + "\n" +
"//返回值:1為是數字,0為不是數字" + "\n" +
"function fucCheckNUM(NUM) {" + "\n" +
"var i,j,strTemp;" + "\n" +
"strTemp=\"0123456789\";" + "\n" +
"if ( NUM.length == 0) return 0;" + "\n" +
"for (i=0;i<NUM.length;i++){" + "\n" +
"j = strTemp.indexOf(NUM.charAt(i));" + "\n" +
"if (j==-1) {" + "\n" +
"//說明有字符不是數字" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"}" + "\n" +
"//說明是數字" + "\n" +
"return 1;" + "\n" +
"}" + "\n\n" +

"//函數名:fucCheckLength" + "\n" +
"//功能介紹:檢查字符串的長度" + "\n" +
"//參數說明:要檢查的字符串" + "\n" +
"//返回值:長度值" + "\n" +
"function fucCheckLength(strTemp) {" + "\n" +
"var i,sum;" + "\n" +
"sum=0;" + "\n" +
"for(i=0;i<strTemp.length;i++) {" + "\n" +
"if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))" + "\n" +
"sum=sum+1;" + "\n" +
"else" + "\n" +
"sum=sum+2;" + "\n" +
"}" + "\n" +
"return sum;" + "\n" +
"}" + "\n\n" +

"//函數名:chkemail" + "\n" +
"//功能介紹:檢查是否為Email Address" + "\n" +
"//參數說明:要檢查的字符串" + "\n" +
"//返回值:0:不是1:是" + "\n" +
"function chkemail(a){" + "\n" +
"var i=a.length;" + "\n" +
"var temp = a.indexOf('@');" + "\n" +
"var tempd = a.indexOf('.');" + "\n" +
"if (temp > 1) {" + "\n" +
"if ((i-temp) > 3) {" + "\n" +
"if (tempd!=-1) {" + "\n" +
"return 1;" + "\n" +
"}" + "\n" +
"}" + "\n" +
"}" + "\n" +
"return 0;" + "\n" +
"}" + "\n\n" +

"//函數名:fucCheckTEL" + "\n" +
"//功能介紹:檢查是否為電話號碼" + "\n" +
"//參數說明:要檢查的字符串" + "\n" +
"//返回值:1為是合法,0為不合法" + "\n" +
"function fucCheckTEL(TEL) {" + "\n" +
"var i,j,strTemp;" + "\n" +
"strTemp=\"0123456789-()#\";" + "\n" +
"if (TEL.length == 0) return 0;" + "\n" +
"for (i=0;i<TEL.length;i++) {" + "\n" +
"j=strTemp.indexOf(TEL.charAt(i));" + "\n" +
"if (j==-1) {" + "\n" +
"//說明有字符不合法" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"}" + "\n" +
"//說明合法" + "\n" +
"return 1;" + "\n" +
"}" + "\n\n" +

"//函數名:chkdate(YYYY-MM-DD)" + "\n" +
"//功能介紹:檢查是否為日期" + "\n" +
"//參數說明:要檢查的字符串" + "\n" +
"//返回值:0:不是日期1:是日期" + "\n" +
"function chkdate(datestr) {" + "\n" +
"var lthdatestr" + "\n" +
"if (datestr != \"\")" + "\n" +
"lthdatestr= datestr.length ;" + "\n" +
"else" + "\n" +
"lthdatestr=0;" + "\n" +
"var tmpy=\"\";" + "\n" +
"var tmpm=\"\";" + "\n" +
"var tmpd=\"\";" + "\n" +
"//var datestr;" + "\n" +
"var status;" + "\n" +
"status=0;" + "\n" +
"if ( lthdatestr== 0)" + "\n" +
"return 0;" + "\n" +
"for (i=0;i<lthdatestr;i++) {" + "\n" +
"if (datestr.charAt(i)== '-') {" + "\n" +
"status++;" + "\n" +
"}" + "\n" +
"if (status>2) {" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"if ((status==0) && (datestr.charAt(i)!='-')) {" + "\n" +
"tmpy=tmpy+datestr.charAt(i)" + "\n" +
"}" + "\n" +
"if ((status==1) && (datestr.charAt(i)!='-')) {" + "\n" +
"tmpm=tmpm+datestr.charAt(i)" + "\n" +
"}" + "\n" +
"if ((status==2) && (datestr.charAt(i)!='-')) {" + "\n" +
"tmpd=tmpd+datestr.charAt(i)" + "\n" +
"}" + "\n" +
"}" + "\n" +
"year=new String (tmpy);" + "\n" +
"month=new String (tmpm);" + "\n" +
"day=new String (tmpd)" + "\n" +
"if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2)) {" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) ) {" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"if (!((year % 4)==0) && (month==2) && (day==29)) {" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"if ((month<=7) && ((month % 2)==0) && (day>=31)) {" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"if ((month>=8) && ((month % 2)==1) && (day>=31)) {" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"if ((month==2) && (day==30)) {" + "\n" +
"return 0;" + "\n" +
"}" + "\n" +
"return 1;" + "\n" +
"}" + "\n\n";

}

/*public static void main(String[] args) {
ErrorCheck ec = new ErrorCheck("testFrom");
String script = ec.ErrorCheckScript();
System.out.println(script);
} */

}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲精品视频自拍| 亚洲图片另类小说| 国产一区二区三区av电影 | 成人黄色在线网站| 色婷婷久久久亚洲一区二区三区| 欧美日韩另类一区| 日本一区二区三区免费乱视频| 亚洲精品欧美二区三区中文字幕| 成人免费观看av| 精品日韩欧美一区二区| 成人欧美一区二区三区1314| 日本中文字幕一区| 91麻豆产精品久久久久久| 日韩欧美一二区| 午夜精品aaa| 91免费观看国产| 亚洲大片免费看| 色94色欧美sute亚洲13| 国产亚洲1区2区3区| 日本欧美一区二区三区乱码| 久久久久久久综合色一本| 日本sm残虐另类| 欧美性猛交xxxxxxxx| 亚洲私人影院在线观看| 欧美电影一区二区| 亚洲第一主播视频| 欧美成人午夜电影| 色噜噜狠狠色综合中国| 韩日av一区二区| 久久伊人蜜桃av一区二区| 无码av免费一区二区三区试看 | 一区二区在线观看视频在线观看| 7777精品伊人久久久大香线蕉的 | 香蕉久久夜色精品国产使用方法| 久久精品人人做人人综合 | 亚洲精品视频在线看| 精品粉嫩aⅴ一区二区三区四区| 蜜臀av一区二区| 久久久一区二区| 在线成人免费视频| 色婷婷国产精品综合在线观看| 韩国成人福利片在线播放| 午夜久久久久久久久久一区二区| 成人免费一区二区三区在线观看| 2023国产一二三区日本精品2022| 欧美精品丝袜久久久中文字幕| 91麻豆福利精品推荐| 本田岬高潮一区二区三区| 亚洲天堂成人在线观看| 久久久久青草大香线综合精品| 91精品国产免费久久综合| 国产老妇另类xxxxx| 久久精品夜色噜噜亚洲a∨| 欧美三级韩国三级日本三斤| 天天色天天操综合| 亚洲国产视频直播| 精品成人免费观看| 在线综合亚洲欧美在线视频| 欧美日韩的一区二区| 欧美色图12p| 欧美伊人久久久久久午夜久久久久| 成人性生交大片免费看视频在线 | 国产美女在线观看一区| 日韩电影网1区2区| 青青草成人在线观看| 九九视频精品免费| 亚洲欧美日韩一区二区 | 欧美日韩精品免费| 欧美在线免费播放| 国产美女娇喘av呻吟久久| 另类人妖一区二区av| 亚洲三级理论片| 有坂深雪av一区二区精品| 亚洲乱码一区二区三区在线观看| 综合欧美亚洲日本| 亚洲妇熟xx妇色黄| 久久国产欧美日韩精品| 国产乱码字幕精品高清av| 成人国产精品免费网站| 一本一道综合狠狠老| 欧美久久久一区| 日韩一区国产二区欧美三区| 在线免费不卡视频| 欧美一区二区在线不卡| 久久嫩草精品久久久精品一| 亚洲欧洲国产日韩| 五月天国产精品| 国产精品1区2区3区| 91麻豆成人久久精品二区三区| 91精品国产色综合久久| 日本一区二区三区在线不卡| 亚洲宅男天堂在线观看无病毒| 亚洲欧美中日韩| 午夜精品福利一区二区三区av| 精品一区二区在线播放| 91免费视频网| 26uuu欧美| 亚洲专区一二三| 国产不卡视频在线观看| 国产精品一区二区黑丝| 欧美视频中文字幕| 国产女主播一区| 日本女人一区二区三区| 国产91色综合久久免费分享| 6080国产精品一区二区| 最新不卡av在线| 国产精品2024| 日韩免费成人网| 亚洲电影你懂得| 97超碰欧美中文字幕| 91麻豆免费看| 久久久久97国产精华液好用吗| 亚洲一区二区三区四区的| 国产成人在线看| caoporen国产精品视频| 欧美一区二区在线播放| 亚洲综合视频网| 99精品视频在线免费观看| 精品国产sm最大网站| 日韩国产欧美一区二区三区| 色婷婷一区二区三区四区| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品天天看| 中文字幕一区三区| 国产在线精品不卡| 日韩欧美一区在线| 午夜电影网亚洲视频| 91天堂素人约啪| 中文在线资源观看网站视频免费不卡 | 精品粉嫩超白一线天av| 日韩成人免费电影| 欧美一级日韩免费不卡| 青青国产91久久久久久| 欧美一级免费大片| 日韩成人精品在线观看| 欧美片网站yy| 午夜视频一区二区| 51精品视频一区二区三区| 视频在线观看国产精品| 国产黄色成人av| 久久久精品国产免费观看同学| 日本不卡123| 欧美一级国产精品| 国产综合久久久久影院| 国产欧美视频一区二区| av毛片久久久久**hd| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲最新视频在线播放| 欧美亚洲综合另类| 日韩精品一二三区| 欧美成人三级在线| 9l国产精品久久久久麻豆| 日韩伦理免费电影| 欧美日韩的一区二区| 经典三级一区二区| 国产精品久久久久久久久图文区 | 国产一区 二区| 久久久久88色偷偷免费| 成人国产精品免费观看动漫| 亚洲精品国产无套在线观| 欧美日本在线播放| 久久99国产精品免费网站| 中文字幕乱码亚洲精品一区| 欧美日韩中文一区| 国产成人av电影免费在线观看| 亚洲少妇屁股交4| 日韩一区二区三区电影在线观看| 国产剧情在线观看一区二区| 亚洲精品免费在线观看| 精品剧情在线观看| av资源网一区| 精品一区免费av| 亚洲成人动漫在线免费观看| 欧美—级在线免费片| 制服视频三区第一页精品| 国产宾馆实践打屁股91| 亚瑟在线精品视频| 国产精品萝li| 久久人人97超碰com| 欧美日韩不卡一区二区| 91视频com| 国产成人一区二区精品非洲| 日本aⅴ精品一区二区三区| 亚洲最新视频在线播放| 亚洲国产精品高清| 精品免费一区二区三区| 欧美日免费三级在线| 成人中文字幕电影| 韩国午夜理伦三级不卡影院| 日韩av电影免费观看高清完整版| 亚洲欧美一区二区三区国产精品| 久久网站最新地址| 日韩无一区二区| 欧美精品v国产精品v日韩精品| 成人黄页在线观看| 精品一区二区三区不卡| 日本伊人色综合网| 午夜精品影院在线观看| 亚洲伊人色欲综合网| 亚洲精选视频在线|