在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

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

用 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);
} */

}

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

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 99精品视频免费版的特色功能| 天天干天天av| 日韩中文字幕a| 国产中文字幕视频在线观看| 91色国产在线| 欧美成人精品欧美一级乱| 黄色录像特级片| 欧美日韩理论片| 自拍偷拍一区二区三区四区| 日韩欧美亚洲天堂| 亚洲色成人www永久在线观看 | 亚洲av首页在线| 日本黄色的视频| 在线观看av日韩| 五月婷婷激情久久| 六月丁香婷婷在线| 狠狠97人人婷婷五月| 日韩一级性生活片| 99在线免费视频观看| 日韩成人三级视频| 激情六月天婷婷| 欧美又粗又长又爽做受| 国产免费xxx| 毛片av在线播放| 男女裸体影院高潮| 久久人人爽人人爽人人av| 亚洲色婷婷久久精品av蜜桃| 国产乱子伦精品视频| 日本国产中文字幕| 青青青青草视频| 116极品美女午夜一级| 久久久久久久久久久久久国产精品 | 91aaa精品| 亚洲成年人专区| 91精品一区二区三区四区| 久久久99精品视频| 91黄色在线看| 99视频在线免费| 天天综合天天添夜夜添狠狠添| 毛片毛片毛片毛| 免费拍拍拍网站| 成人在线观看a| 黄色片免费网址| www.九色.com| 日本成人黄色网| 午夜啪啪免费视频| 亚洲熟妇无码一区二区三区| 北条麻妃在线一区| 日本黄色播放器| 青青青免费在线| 99视频在线视频| ijzzijzzij亚洲大全| 免费在线观看亚洲视频| 国产成人黄色网址| 亚洲理论电影在线观看| 国产精品拍拍拍| 2019日韩中文字幕mv| 日本黄网站免费| 色婷婷一区二区三区在线观看| 2018日日夜夜| 99精品视频国产| 凹凸日日摸日日碰夜夜爽1| 精品一区二区成人免费视频| 欧美 日本 亚洲| 永久免费看av| www.51色.com| 欧美精品无码一区二区三区| www.欧美黄色| 日本一区二区免费高清视频| 麻豆传传媒久久久爱| 婷婷五月综合缴情在线视频| 99九九99九九九99九他书对| 亚洲色欲综合一区二区三区| 2021狠狠干| 中文字幕一区二区在线观看视频 | 真人抽搐一进一出视频| 国产三级精品三级在线| 92看片淫黄大片一级| 男的插女的下面视频| 熟女视频一区二区三区| 小泽玛利亚视频在线观看| 久色视频在线播放| 国产精品久久久久9999爆乳| 做爰高潮hd色即是空| 国产色视频在线播放| 成人性生生活性生交12| 亚洲精品乱码久久久久久自慰| 超碰人人爱人人| 丰满女人性猛交| 善良的小姨在线| www.污网站| 一女二男3p波多野结衣| 日本爱爱免费视频| 成人性生交免费看| 欧美精品久久久久久久久25p| 日韩中文字幕免费在线| 欧美在线观看视频网站| 国产三级日本三级在线播放 | 91人人澡人人爽人人精品| 三级在线免费看| 在线观看亚洲色图| 欧美一级xxxx| 艳母动漫在线免费观看| 久久综合亚洲精品| 97超碰国产精品| 免费观看美女裸体网站| 国产xxxxx在线观看| 91看片就是不一样| 亚洲免费黄色录像| 少妇久久久久久被弄到高潮| 被灌满精子的波多野结衣| 欧美色图色综合| 91制片厂毛片| 日本一二三区视频在线| 久久久久久久久久久99| 国产一级不卡毛片| 久久最新免费视频| 91猫先生在线| 亚洲精品综合在线观看| 草草草视频在线观看| 久久精品一区二| 手机在线视频你懂的| 欧美在线观看成人| 久久精品国产露脸对白| 99在线观看视频免费| 亚洲天堂av线| 日韩成人三级视频| 爱爱爱爱免费视频| 日韩欧美不卡在线| 五月天开心婷婷| 看av免费毛片手机播放| 国产福利精品一区二区三区| 国产不卡一区二区视频| 中文字幕22页| 国模无码视频一区二区三区| www.日本久久| 国产淫片av片久久久久久| 黄色录像特级片| 色免费在线视频| 男人添女人下部高潮视频在观看| 一区二区在线免费看| aⅴ在线免费观看| 日韩人妻无码精品久久久不卡| 亚洲综合av在线播放| 国产a级一级片| 国产尤物av一区二区三区| 在线能看的av网站| www.日本xxxx| 日av中文字幕| 人人妻人人添人人爽欧美一区| 在线观看三级网站| 91性高潮久久久久久久| 国产免费999| 日日碰狠狠躁久久躁婷婷| 久久视频这里有精品| 男人天堂手机在线视频| 亚洲高潮无码久久| 国产一二三四五| 奇米777在线视频| 日本特级黄色大片| 毛片毛片毛片毛片毛| 99中文字幕在线| 91aaa精品| 激情图片中文字幕| 一级片黄色免费| 一级全黄肉体裸体全过程| 91香蕉国产线在线观看| 午夜影院免费版| 黄色a级在线观看| 国产四区在线观看| 狠狠噜天天噜日日噜| 青春草国产视频| 亚洲自偷自拍熟女另类| 色综合av综合无码综合网站| 人妻有码中文字幕| 99热手机在线| 91pony九色| 香港三级日本三级a视频| 免费拍拍拍网站| av无码精品一区二区三区| 自拍偷拍21p| 7777在线视频| 国产精品又粗又长| 日本www高清视频| 男女视频在线观看网站| 日本一道在线观看| 欧美精品99久久| 欧美第一页浮力影院| 最新视频 - x88av| 国产亚洲综合视频| 婷婷激情综合五月天| 女人被男人躁得好爽免费视频| 欧美日韩成人免费视频| 日韩精品视频一二三| 国产激情片在线观看| 无遮挡又爽又刺激的视频| 日韩精品aaa| www.四虎成人| 糖心vlog在线免费观看| 无码aⅴ精品一区二区三区浪潮|