国产午夜成人免费看片无遮挡_日本免费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>

        国产一区二区三区在线观看免费 | 国产精品成人在线观看| 日韩国产成人精品| 欧美精品在欧美一区二区少妇| 亚洲一区在线视频| 欧美日韩中文字幕精品| 三级在线观看一区二区| 日韩视频一区二区三区| 国产精品一区二区你懂的| 欧美激情在线一区二区| 一本到一区二区三区| 亚洲综合激情另类小说区| 777亚洲妇女| 国产成人午夜电影网| 亚洲日本乱码在线观看| 欧美三级中文字幕在线观看| 美脚の诱脚舐め脚责91 | 不卡电影一区二区三区| 亚洲在线视频免费观看| 欧美成人精品1314www| 成人深夜在线观看| 丝袜美腿亚洲色图| 国产欧美综合在线| 4438x成人网最大色成网站| 粉嫩久久99精品久久久久久夜 | 国产精品久久久久影院| 欧美日韩高清一区二区三区| 国产成人精品亚洲777人妖| 亚洲成人午夜电影| 国产精品嫩草久久久久| 日韩一区二区三区在线观看| 91色综合久久久久婷婷| 国产伦精品一区二区三区在线观看| 亚洲精品视频在线看| 精品日韩在线一区| 欧美性欧美巨大黑白大战| 国产老妇另类xxxxx| 亚洲午夜免费福利视频| 国产精品国产三级国产普通话蜜臀| 欧美一级淫片007| 在线免费不卡电影| www.亚洲国产| 国产不卡免费视频| 精品综合免费视频观看| 日本不卡一二三区黄网| 亚洲国产欧美一区二区三区丁香婷| 国产日本一区二区| 精品成人私密视频| 精品国产乱码久久久久久图片 | 欧美国产日韩精品免费观看| 日韩欧美高清一区| 欧美剧情电影在线观看完整版免费励志电影 | 欧美成人精品二区三区99精品| 欧美性感一区二区三区| 99精品视频一区二区三区| 国产中文一区二区三区| 免费人成网站在线观看欧美高清| 夜夜嗨av一区二区三区四季av| 自拍偷在线精品自拍偷无码专区| 国产精品丝袜一区| 亚洲婷婷国产精品电影人久久| 国产精品国产三级国产a| 国产网站一区二区三区| 久久久久免费观看| 国产日韩三级在线| 亚洲区小说区图片区qvod| 中文字幕一区二区三区蜜月| 国产精品麻豆99久久久久久| 中文字幕一区二区日韩精品绯色| 1区2区3区国产精品| 亚洲精品高清在线观看| 亚洲一区二区五区| 日本午夜精品视频在线观看| 久久激五月天综合精品| 韩国成人精品a∨在线观看| 国产一区二区精品在线观看| 成人精品一区二区三区四区 | 国产精品欧美久久久久无广告 | 久久99精品国产麻豆不卡| 国产福利不卡视频| 91蜜桃免费观看视频| 欧美三级韩国三级日本一级| 7777精品伊人久久久大香线蕉的 | 欧美性感一类影片在线播放| 欧美色精品在线视频| 欧美成人a视频| 中文字幕亚洲欧美在线不卡| 亚洲制服欧美中文字幕中文字幕| 美女尤物国产一区| 99久久伊人网影院| 88在线观看91蜜桃国自产| 久久精品一区八戒影视| 一区二区成人在线| 国精产品一区一区三区mba桃花 | 亚洲女同ⅹxx女同tv| 青青草成人在线观看| 粉嫩一区二区三区性色av| 欧美日本在线播放| 久久久久久电影| 亚洲午夜影视影院在线观看| 丁香天五香天堂综合| 91精品国产手机| 一区二区免费在线播放| 国产成人免费视频一区| 91精品中文字幕一区二区三区| 欧美韩国日本不卡| 麻豆传媒一区二区三区| 色婷婷av一区二区三区软件| 久久色在线观看| 日日夜夜免费精品| 一本色道久久综合亚洲aⅴ蜜桃| 欧美大白屁股肥臀xxxxxx| 亚洲男人电影天堂| 国产精品一二三在| 日韩欧美国产电影| 亚洲高清三级视频| 色婷婷av一区二区三区软件 | 亚洲成a人v欧美综合天堂 | 国产欧美日韩精品在线| 国产亚洲成年网址在线观看| 亚洲精品乱码久久久久| 精品在线免费观看| 欧美精品在线一区二区三区| 中文字幕一区二区在线观看| 国产精品66部| 久久精品视频一区二区| 麻豆成人久久精品二区三区红| 欧美日韩亚洲综合在线| 亚洲人成影院在线观看| 国产69精品久久99不卡| 久久久久久99久久久精品网站| 久久精品国产免费看久久精品| 欧美一级午夜免费电影| 日本网站在线观看一区二区三区| 欧美日韩免费高清一区色橹橹| 亚洲国产一区二区视频| 欧美综合亚洲图片综合区| 亚洲人成影院在线观看| 一本色道综合亚洲| 一区二区三区91| 精品视频全国免费看| 一区二区三区高清| 欧美私模裸体表演在线观看| 午夜精品爽啪视频| 日韩视频免费观看高清在线视频| 另类欧美日韩国产在线| 欧美不卡一区二区三区| 黄页网站大全一区二区| 中文字幕免费观看一区| 97久久精品人人做人人爽| 亚洲精品国产视频| 欧美日韩三级视频| 精品一区二区三区免费播放| 精品国产电影一区二区| 国产suv精品一区二区6| 亚洲视频一二区| 7777精品伊人久久久大香线蕉的| 久久精品99国产精品日本| 26uuu精品一区二区| 国产伦精品一区二区三区视频青涩| 国产精品嫩草影院com| 欧美性一二三区| 麻豆视频观看网址久久| 亚洲国产精品成人综合色在线婷婷| 色婷婷久久综合| 久久国产精品一区二区| 一区在线播放视频| 欧美乱妇一区二区三区不卡视频 | 樱桃视频在线观看一区| 91精品国产综合久久精品性色 | 欧美mv日韩mv亚洲| 成人污污视频在线观看| 亚洲va欧美va国产va天堂影院| 精品国产乱码久久| 色八戒一区二区三区| 激情另类小说区图片区视频区| 中文字幕一区二区三区av| 91精品欧美久久久久久动漫| 成人午夜激情视频| 蜜臀va亚洲va欧美va天堂| 亚洲欧美日韩国产一区二区三区 | 国产精品灌醉下药二区| 91麻豆精品国产91久久久久久| 国产**成人网毛片九色| 午夜精品一区二区三区免费视频 | 色狠狠一区二区| 狠狠狠色丁香婷婷综合激情| 一个色在线综合| 国产精品污污网站在线观看| 日韩三级在线观看| 色天天综合久久久久综合片| 国产ts人妖一区二区| 久久精品国产亚洲a| 午夜一区二区三区在线观看| 《视频一区视频二区| 欧美激情在线观看视频免费| 精品国产露脸精彩对白| 欧美成人精品福利| 精品国产成人系列| 久久综合九色综合久久久精品综合|