首页 >> 租房攻略

用JSP生成JavaScrit代码实现

2020-06-13 来源:黑龙江租房网

主程序是名为 va ,有了这个 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()设定你的表单名,再调用以上函数,最后 intln(rorCheckScript()),就输出了一段 JavaScript 代码了,当然了,别忘了这个form name=myForm onsubmit="return errorCheck();"

ok,just enjoy it,今天太累,不想多少,有任何意见请写信给我或在我主页上留言。

注:我调试 p 的时候因服务器的问题不知为何不能用 usebean,setProperty 的方法,只好 new 了一下,我想你们是应该可以用useBean和setProperty的,自己改一下吧。

===================================== p =====================================

%@ page language="java"import="dbclass.*"%

%@ page contentType="text/html;charset=gb2312"%

jsp:useBean id="cc"scope="page"class="rorCheck"/

%

ErrorCheck ec = new ErrorCheck();

tFormName("myForm");

mericCheck("number","The Number you input is invalid!");

ailCheck("email","The Email you input is invalid!");

lCheck("tel","The telephone you input is invalid!");

ngthCheck("strlen","The string you input in the fourth field in not between ",6,8);

nyStrCheck("nojeru","The fifith field must not contain ''jeru''","jeru");

ringCheck("jeru"对方是个小伙子,"The sixth field must not null and contian ''jeru''","jeru");

teCheck("date","The date you input is invalid,should be yyyy-mm-dd");

intln(rorCheckScript());

%

html

body style="font-size:9pt;font-family:Arial;"

h1Errocheck 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 ):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

brinput type="submit"name="submit"value="go"

/form

/body

/html

===================================== va =====================================

package dbclass;

/**

* ErrorCheck v 1.0

*

* 这个类是用来在客户端生成 JavaScript 代码来校验表单的

* 原是版本是同事 Macro 用 PHP 写的,我感觉十分好用,再也

* 不用再为那些表单区写烦人的 javascript 代码拉,感谢他!

* 这次我用 Java 改写,封装成一个类,并修复了少许的 bug,加

* 多了一条校验的功能,它的扩展性很好,以后可能会继续完善。

*

* Mender :

*   Jeru Liu

* Homepage :

*

* Email: jeru@

*

*/

import .*;

public class ErrorCheck  {

/* public: the javascript string */

String errorCheckStr;

/* public: the form name you used */

public String formName;

public void setFormName(String formName) {

rmName = formName;

}

/***************************************************************************\

*    public: constructor functions

*    构造函数

\***************************************************************************/

public ErrorCheck()  {

rorCheckStr =

"script ID=clientEventHandlersJS language=javascript"+"\n"+

"!--"+"\n";

ededFunction();  // load the needed functions

rorCheckStr +=

"function errorCheck() {"+"\n";

}

/***************************************************************************\

*    public: export javascript script

*    输出 JAVASCRIPT 脚本

\***************************************************************************/

public String ErrorCheckScript()  {

rorCheckStr +=

"}"+"\n"+

"--"+"\n"+

"/script"+"\n";

return rorCheckStr;

}

/***************************************************************************\

*    public: check the numeric

*    检查录入框值是否是数字

\***************************************************************************/

public void numericCheck(String inputName, String errorMsg)  {

rorCheckStr +=

" 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) {

rorCheckStr +=

" 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";

}

查看本文来源

前列腺增生排尿痛怎么办
海口哪家医院治疗白癜风
双效希爱力和礼来希爱力区别是什么