操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

用JSP生成JavaScript代码实现表单校验

2007-9-7 网友评论 0 条 点击进入论坛

  主程序是名为 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 代码了,当然了,别忘了这个

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

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

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

  Errocheck Test

  input a number:

  input a emial:

  input a telephone:

  input a string (length should between 6-8):

  input a string (shoulde not contain"jeru"):

  input a string (must contain"jeru"):

  input a date (yyyy-mm-dd):

  ===================================== 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 =

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

  " }"+"nn";

  }

  /***************************************************************************

  *    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"+

  " }"+"nn";

  }

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46294 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
移动开发
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail