- 浏览: 471033 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (135)
- javascript (43)
- struts (3)
- webWork (0)
- hibernate (2)
- EJB (0)
- Spring (2)
- XML (2)
- Oracle (4)
- Mysql (0)
- C (0)
- C++ (0)
- 网络 (0)
- linux (4)
- java (28)
- 设计模式 (0)
- java 代理模式 (2)
- jsp&Servlet (2)
- Tomcat (5)
- 算法设计 (2)
- 操作技巧 (1)
- HTML (5)
- Ajax (2)
- JScript Deviations from ES3 (14)
- Eclipse (1)
- log4J (2)
- ant (1)
- HTTP (4)
- project (1)
- SqlServer (4)
- 数据仓库 (0)
最新评论
-
u012526168:
header的域名是大小写敏感的.http://stackov ...
HTTP 请求报头详解 -
junes_yu:
这样的方法有问题哦正确方法如下:document.onkeyd ...
javascript 屏蔽F5,BackSpace,IE的刷新,右键功能 -
xunke515:
第二个,如果要带顺序的话,new个treeset也可以吧.
两种方法删除ArrayList里重复元素 -
bangyulin:
java 潜拷贝和深拷贝 -
hecongqi:
谢谢,写得很好,学到知识了
浅谈Java代理机制
验证时创建数组的函数,注意其与页面元素的对应关系。
丫的,我已经做出通用表单了,你再搞一个通用表单验证,这IT界呀,不好混了
<script LANGUAGE="JavaScript"> <!-- /** * 取得需要验证的文本框控件数组 */ function getCheckArray() { var arr=new Array(); arr[0]=createToBeCheckedObj("name","nameMsg","[\\u4E00-\\u9FA5]{2,3}","true"); arr[1]=createToBeCheckedObj("title","titleMsg","[\\u4E00-\\u9FA5]{2,5}","true"); arr[2]=createToBeCheckedObj("age","ageMsg","[2-5]{1}[0-9]{1}","false"); arr[3]=createToBeCheckedObj("pswd","pswdMsg","\\w+","true"); arr[4]=createToBeCheckedObj("email","emailMsg","\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\.\\w+([-.]\\w+)*","true"); return arr; } //--> </script> 3。创建验证数据结构的函数 /**//** * Check a object will be checked when sbmit a form */ function createToBeCheckedObj(textboxName,msgSpanId,validChar,isRequired){ // Create the object will be checked var toBeCheckedObj=new Object; // Set propertied to toBeCheckedObj toBeCheckedObj.textboxName=textboxName; toBeCheckedObj.msgSpanId=msgSpanId; toBeCheckedObj.validChar=validChar; toBeCheckedObj.isRequired=isRequired; // create a method of toBeCheckedObj toBeCheckedObj.showProperties=function(){ alert("TextboxName="+this.textboxName+" MsgSpanId="+this.msgSpanId+" ValidChar="+this.validChar+" IsRequired"+this.isRequired); } // return the object will be checked return toBeCheckedObj; } 4。验证函数 /**//** * Check form */ function checkForm(toBeCheckedObjArray){ for(var i=0; i<toBeCheckedObjArray.length; i++){ var toBeCheckedObj=toBeCheckedObjArray[i]; // toBeCheckedObj.showProperties(); var checkResult=checkTextBox(toBeCheckedObj); if(checkResult){ document.getElementById(toBeCheckedObj.msgSpanId).className="feedbackHide"; } else{ document.getElementById(toBeCheckedObj.msgSpanId).className="feedbackShow"; document.getElementById(toBeCheckedObj.textboxName).focus(); return false; } } // alert("all passed"); return true; } /**//** * Check text field in the form */ function checkTextBox(toBeCheckedObj){ var validChar=toBeCheckedObj.validChar; var isRequired=toBeCheckedObj.isRequired; var inputValue=document.getElementById(toBeCheckedObj.textboxName).value; if(isRequired!="true" && inputValue.length<1){ return true; } else{ var regexStr="^"+validChar+"$"; var regex=new RegExp(regexStr); return regex.test(inputValue); } }
评论
3 楼
lims
2008-08-08
kuangbaoxu 写道
验证时创建数组的函数,注意其与页面元素的对应关系。
<script LANGUAGE="JavaScript"> <!-- /** * 取得需要验证的文本框控件数组 */ function getCheckArray() { var arr=new Array(); arr[0]=createToBeCheckedObj("name","nameMsg","[\\u4E00-\\u9FA5]{2,3}","true"); arr[1]=createToBeCheckedObj("title","titleMsg","[\\u4E00-\\u9FA5]{2,5}","true"); arr[2]=createToBeCheckedObj("age","ageMsg","[2-5]{1}[0-9]{1}","false"); arr[3]=createToBeCheckedObj("pswd","pswdMsg","\\w+","true"); arr[4]=createToBeCheckedObj("email","emailMsg","\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\.\\w+([-.]\\w+)*","true"); return arr; } //--> </script> 3。创建验证数据结构的函数 /**//** * Check a object will be checked when sbmit a form */ function createToBeCheckedObj(textboxName,msgSpanId,validChar,isRequired){ // Create the object will be checked var toBeCheckedObj=new Object; // Set propertied to toBeCheckedObj toBeCheckedObj.textboxName=textboxName; toBeCheckedObj.msgSpanId=msgSpanId; toBeCheckedObj.validChar=validChar; toBeCheckedObj.isRequired=isRequired; // create a method of toBeCheckedObj toBeCheckedObj.showProperties=function(){ alert("TextboxName="+this.textboxName+" MsgSpanId="+this.msgSpanId+" ValidChar="+this.validChar+" IsRequired"+this.isRequired); } // return the object will be checked return toBeCheckedObj; } 4。验证函数 /**//** * Check form */ function checkForm(toBeCheckedObjArray){ for(var i=0; i<toBeCheckedObjArray.length; i++){ var toBeCheckedObj=toBeCheckedObjArray[i]; // toBeCheckedObj.showProperties(); var checkResult=checkTextBox(toBeCheckedObj); if(checkResult){ document.getElementById(toBeCheckedObj.msgSpanId).className="feedbackHide"; } else{ document.getElementById(toBeCheckedObj.msgSpanId).className="feedbackShow"; document.getElementById(toBeCheckedObj.textboxName).focus(); return false; } } // alert("all passed"); return true; } /**//** * Check text field in the form */ function checkTextBox(toBeCheckedObj){ var validChar=toBeCheckedObj.validChar; var isRequired=toBeCheckedObj.isRequired; var inputValue=document.getElementById(toBeCheckedObj.textboxName).value; if(isRequired!="true" && inputValue.length<1){ return true; } else{ var regexStr="^"+validChar+"$"; var regex=new RegExp(regexStr); return regex.test(inputValue); } }
丫的,我已经做出通用表单了,你再搞一个通用表单验证,这IT界呀,不好混了
2 楼
JerrySun
2008-08-08
楼上的,你这叫通用吗!要是改天老板要求改一下字段,一大堆东西要改,而已如果说要移植数据库,你能担保SQL语句通用吗!!
1 楼
achun
2008-05-24
<p>呵呵楼主的方法不错.<br/>我的项目里面也有这样的方案.<br/>由于进度问题,后台的验证搞定了.<br/>前台只是做了准备工作,代码还没有写.<br/>不过我比你的做法更极端.<br/>我直接把验证的规则写到了数据库的表定义里.给出一个user表的例子</p>
<pre name='code' class='sql'>CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`u_name` varchar(24) character set ascii NOT NULL COMMENT '{"name":"用户名","tolower":true,"alnum":true,"minlen":4}',
`nicheng` varchar(32) NOT NULL COMMENT '{"name":"昵称","nochar":" "}',
`u_pass` varchar(32) character set ascii NOT NULL COMMENT '{"name":"密码","tomd5":true}',
`mu_name` varchar(32) NOT NULL COMMENT '{"name":"密保"}',
`mu_pass` varchar(32) character set ascii NOT NULL COMMENT '{"name":"密保答案","tomd5":true}',
`gender` int(1) default '2' COMMENT '{"name":"性别","enmu":[0,1,2]}',
`card` varchar(24) default NULL COMMENT '{"name":"身份证","idcard":true}',
`username` varchar(16) default NULL COMMENT '{"name":"真实姓名"}',
`email` varchar(32) default '' COMMENT '{"name":"绑定邮箱","email":true}',
`qq` varchar(24) default NULL COMMENT '{"name":"QQ"}',
`msn` varchar(32) default NULL COMMENT '{"name":"MSN","email":true}',
`img` varchar(50) default NULL COMMENT '{"name":"头像","img":true}',
`signed` text COMMENT '{"name":"签名"}',
`birt` date default NULL COMMENT '{"name":"签名"}',
`u_time` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT '{"name":"申请日期","noinput":true}',
`anmin` int(11) default '0' COMMENT '{"name":"权限","noinput":true}',
`money` int(11) default '0' COMMENT '{"name":"积分","noinput":true}',
`rat` int(11) default '1' COMMENT '{"name":"等级","noinput":true}',
`exp` int(11) default '0' COMMENT '{"name":"经验","noinput":true}',
`hb` int(11) default '0' COMMENT '{"name":"货币","noinput":true}',
PRIMARY KEY (`id`),
UNIQUE KEY `u_name_Index` (`u_name`)
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=utf8
</pre>
<p>可以看到我直接把规则用json的形式写到了comment里.然后做一个小工具把这个信息根据应用的需求生成符合的结构,</p>
<p><strong>做成相应的前台js文件,和后台对应的配置文件.当然具体的验证规则要手工写了.</strong></p>
<p>虽然有一些细节的问题还要处理,但是都能解决的.</p>
<p>我计划的是基于这种方法,制作一个工具,来更好的实现和管理验证规则,管理字段之间的关系.现在还没有足够的时间.目的当然是通过这种方案,较系统的解决验证规则的问题.</p>
<p>当然对于不同的数据库,实现可能有所不同,例如上面的是MySQL的语法,由于MySQL不支持domain功能,如果换了支持domain功能的数据库的话,实现方法就可能有所不同了,</p>
<p>同样的道理,对于外键也是这样.</p>
<p>当然验证规则的定义是否写到comment里,根据数据库的不同是可以商榷的.</p>
<pre name='code' class='sql'>CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`u_name` varchar(24) character set ascii NOT NULL COMMENT '{"name":"用户名","tolower":true,"alnum":true,"minlen":4}',
`nicheng` varchar(32) NOT NULL COMMENT '{"name":"昵称","nochar":" "}',
`u_pass` varchar(32) character set ascii NOT NULL COMMENT '{"name":"密码","tomd5":true}',
`mu_name` varchar(32) NOT NULL COMMENT '{"name":"密保"}',
`mu_pass` varchar(32) character set ascii NOT NULL COMMENT '{"name":"密保答案","tomd5":true}',
`gender` int(1) default '2' COMMENT '{"name":"性别","enmu":[0,1,2]}',
`card` varchar(24) default NULL COMMENT '{"name":"身份证","idcard":true}',
`username` varchar(16) default NULL COMMENT '{"name":"真实姓名"}',
`email` varchar(32) default '' COMMENT '{"name":"绑定邮箱","email":true}',
`qq` varchar(24) default NULL COMMENT '{"name":"QQ"}',
`msn` varchar(32) default NULL COMMENT '{"name":"MSN","email":true}',
`img` varchar(50) default NULL COMMENT '{"name":"头像","img":true}',
`signed` text COMMENT '{"name":"签名"}',
`birt` date default NULL COMMENT '{"name":"签名"}',
`u_time` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT '{"name":"申请日期","noinput":true}',
`anmin` int(11) default '0' COMMENT '{"name":"权限","noinput":true}',
`money` int(11) default '0' COMMENT '{"name":"积分","noinput":true}',
`rat` int(11) default '1' COMMENT '{"name":"等级","noinput":true}',
`exp` int(11) default '0' COMMENT '{"name":"经验","noinput":true}',
`hb` int(11) default '0' COMMENT '{"name":"货币","noinput":true}',
PRIMARY KEY (`id`),
UNIQUE KEY `u_name_Index` (`u_name`)
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=utf8
</pre>
<p>可以看到我直接把规则用json的形式写到了comment里.然后做一个小工具把这个信息根据应用的需求生成符合的结构,</p>
<p><strong>做成相应的前台js文件,和后台对应的配置文件.当然具体的验证规则要手工写了.</strong></p>
<p>虽然有一些细节的问题还要处理,但是都能解决的.</p>
<p>我计划的是基于这种方法,制作一个工具,来更好的实现和管理验证规则,管理字段之间的关系.现在还没有足够的时间.目的当然是通过这种方案,较系统的解决验证规则的问题.</p>
<p>当然对于不同的数据库,实现可能有所不同,例如上面的是MySQL的语法,由于MySQL不支持domain功能,如果换了支持domain功能的数据库的话,实现方法就可能有所不同了,</p>
<p>同样的道理,对于外键也是这样.</p>
<p>当然验证规则的定义是否写到comment里,根据数据库的不同是可以商榷的.</p>
发表评论
-
java script 知识
2008-11-24 08:59 1568在IE地址栏中输入以下回车: 第一组: javascri ... -
javascript: window.close() 不弹确认框
2008-10-14 10:40 40241.solution window.opener ... -
document.execCommand()函数可用参数
2008-10-07 09:01 4562<HTML> <HEAD&g ... -
checkbox 隐藏的特殊性
2008-08-11 10:32 2337/*checkbox 的hidden=true属性不能使其隐藏 ... -
javascript 字符串链接效率解决办法
2008-08-01 16:39 1767<html> <head> ... -
事件设计模式
2008-07-11 16:24 18861. 事件设计概述 事件机制可以是程序逻辑更加清晰 ... -
js 去掉前后的空格
2008-07-10 18:09 3197function trim(s) { try ... -
JavaScript Object Notation 学习1 (转贴)
2008-07-02 21:01 1636JSON (JavaScript Objec ... -
javascript---类的构建
2008-07-01 21:30 11701.构造方式定义类,优点:多个实例对象不共享类的属性值,缺点: ... -
javascript---类的继承
2008-07-01 21:22 10731.第一种方式,冒充对象的方式.(利用js里的每一个方法名都是 ... -
java script 小技巧(转贴)
2008-07-01 15:38 2087因为这两篇太安逸了,东西很多,很实用,所以转到我格子里! 总 ... -
javascript 类定义4种方法
2008-07-01 13:49 4850/* 工厂方式--- 创建并返回特定类型的对象的 ... -
体会javascript
2008-06-29 17:51 1313没有类 object就是对象的类型。在JavaScr ... -
java script 刷新页面(转贴alert(平淡中搜询我的快乐)永久域名 http://al)
2008-06-29 17:07 3330用iframe、弹出子页面刷新父页面iframe <s ... -
JavaScript日志框架(转贴)
2008-06-29 16:55 1816log4javascript是一个基于log4j的JavaSc ... -
java script 读取xml (转贴)
2008-06-29 16:37 2137首先:xml文件(tree.xml)内容如下: <?x ... -
用js 调用EXE
2008-06-25 20:37 4972<SCRIPT language="Java ... -
ECMA JavaScript introduction
2008-06-24 17:27 1295Numbers in JavaScript are " ... -
Wscript.Shell 对象详细介绍
2008-06-24 17:08 3764WshShell 对象 ProgID Wscript.Shel ... -
Java实现与IE的交互
2008-06-24 12:43 2500需求 遍历当前打开的IE实例,分别获取IE浏览器中打开文档的 ...
相关推荐
"通用的JS表单验证"这个主题聚焦于如何利用JavaScript来确保用户在网页表单中输入的数据符合预设的规则,从而提高数据质量和用户体验。下面我们将深入探讨这个话题。 首先,表单验证是网页开发中的关键部分,它能...
"简单,熟练和通用的Web表单验证"这一主题聚焦于提供一种方法,让开发者能够在多种Web表单中实现灵活且易于维护的验证机制。以下是这个主题涉及的一些核心知识点: 1. **HTML表单基础**:HTML是构建Web页面的基础,...
总之,"Web通用的表单校验JS"如LiveValidation中文修改版,提供了方便、灵活的客户端表单验证解决方案,简化了开发流程,提高了应用的质量和用户体验。无论你是新手还是经验丰富的开发者,掌握这样的工具都能极大地...
在开发Web应用程序时,表单验证是不可或缺的一部分,确保用户输入的数据符合预设的规则。基于Vue的表单通用验证插件是为了简化这一过程而设计的。这类插件通常提供了一套灵活的API和指令,帮助开发者轻松实现对表单...
通用表单验证FormValidator4.1.3是一个用于后端数据验证的工具,它提供了丰富的验证规则和便捷的API,帮助开发者确保用户提交的数据符合预设的格式和要求。FormValidator通常与前端表单交互,确保在数据提交到服务器...
《jQuery带Tips动画提示通用表单验证插件详解》 在网页开发中,表单验证是必不可少的一个环节,它能够确保用户输入的数据符合预设的规则,提高用户体验并减少服务器端的压力。jQuery Validate插件正是这样一个强大...
这个压缩包文件“开发技术-Web开发面向Web表单的信息抽取通用模型.zip”显然关注的是如何构建一个通用模型来处理Web表单中的数据提取问题。下面我们将深入探讨这一主题。 首先,我们需要理解Web表单的作用。Web表单...
Struts动态表单验证是Java Web开发中一个关键的实践,尤其在构建MVC(Model-View-Controller)架构的应用程序时。Struts框架提供了一种有效的方法来处理用户输入并确保数据的完整性和安全性。在这个主题中,我们将...
在现代Web应用中,表单验证是不可或缺的一部分,它确保用户输入的数据符合预期,从而减少服务器端的压力,提升用户体验。`validate`是一个通用的Ajax无刷新表单验证类,使用JavaScript编写,它允许在用户提交数据...
在Web开发中,表单验证是一项至关重要的任务,它确保用户提交的数据符合预期的格式和标准,从而防止数据错误、安全漏洞以及恶意攻击。PHP作为流行的服务器端脚本语言,提供了丰富的功能来处理表单验证。本文将深入...
10. **响应式验证**:随着移动设备的普及,表单验证也需要考虑不同屏幕尺寸和输入方式的影响,确保在各种设备上都能正常工作。 通过合理运用这些知识点,开发者可以构建出强大而健壮的表单验证系统,为用户提供安全...
### 自定义表单设计思路详解 #### 一、概述 自定义表单系统的设计目标是为了...通过合理规划功能模块、优化权限管理、提供强大的表单定制工具以及采用分层建模方法等方式,可以构建出既灵活又稳定的企业级表单系统。
在Web开发中,表单验证是一项至关重要的任务,它确保用户提交的数据符合预期的格式和标准,从而提高数据质量和安全性。本项目提供了一个高效、通用且简单易用的客户端表单输入验证类库函数,专注于JavaScript和正则...
在当下Web开发中,表单验证是前端开发的重要组成部分,它确保用户提交的数据符合特定的格式和规则,从而避免了无效或恶意数据的输入。本文介绍了一个使用JavaScript实现的通用表单验证插件实例,该插件可以对常见的...
总的来说,"validate 通用Ajax无刷新表彰验证类"是现代Web应用中实现高效、友好、可定制化表单验证的一种强大工具,它简化了前端验证的实现,提升了用户交互体验,并为开发者提供了丰富的自定义选项和便利的API。...
表单验证是Web开发中的重要环节,它能有效防止无效数据的提交,提升用户体验。 首先,文章提到了利用键盘响应事件来实现实时验证。`onkeydown`和`onkeyup`事件可以在用户按下或释放键盘按键时触发。`onkeydown`在键...
对于形式复杂或字段较多的表单验证及反馈效果同样不建议在原型中实现,相关反馈提示可以以标注的方式进行说明,本手册中也提供了关于表单验证反馈的示例。本手册可以应用于任何的WEB类项目原型,在实际应用可以根据...
6. **数据验证**:在Web表单处理中,数据验证是必不可少的。BsTools可能会提供一些验证规则,简化数据验证过程。 7. **异常处理**:类库可能包含了优雅的异常处理机制,可以统一处理错误并返回合适的错误信息,提升...
基于提供的文件信息,以下是对“Web测试通用测试用例.pdf”的详细知识点解析: 首先,从文件名《Web测试通用测试用例.pdf》可以推断,该文档内容主要涉及在进行Web应用或网站测试时应遵循的通用测试用例或测试脚本...