- 浏览: 214387 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
strong8808:
activemq5.8.0 客户端,服务端启动序列图 -
xurichusheng:
第一题,如果使用 not exists 的话,可以改成:SEL ...
SQL笔试题 -
dingjun1:
cuisuqiang 写道如何解决呢?我的是对了也照样缓存增加 ...
事务未正确关闭引起的HIBERNATE SESSION不能正确关闭 -
dingjun1:
aijezdm915 写道lz ,我也是在写项目描述是犯愁,能 ...
如果在简历中描述项目 -
aijezdm915:
lz ,我也是在写项目描述是犯愁,能否给个你的简历demo,我 ...
如果在简历中描述项目
<script type="text/javascript"> /** 使用说明 标签中自定义三个属性: |----------------------------------| |--- 属性名称 -------- 是否必须 ---| |+-- js -------- true ----| |+-- valid -------- true ----| |+-- maxlength -------- false ----| |----------------------------------| js属性:表示验证类型 js的值: notEmpty: 非空 maxlen: 可以为空,如果有值最大长度不能超过“maxlength”属性的值 notEmptyLen:非空且最大长度不能超过“maxlength”属性的值 date:日期类型,非空格式必须为yyyy-MM-dd, emptyOrDate:可为空的日期类型,格式必须为yyyy-MM-dd int:整数 float:浮点型数字 check:radio,checkbox类型必须选择 valid属性:表示出错时的提示信息 maxlength属性:最在长度,当js值为maxlen或notEmptyLen时必须有该属性 */ function validForm(formDom){ try{ var typeV; var elems = formDom.elements; var elem; var js;//验证要求 var tagN;//标签名 var valid;//验证的值 var val_err_str=""; var tool = new validTool(); for(var i=0;i<elems.length;i++){ elem = elems[i]; typeV = elem.type; tagN = elem.tagName; js = elem.getAttribute("js"); valid = elem.getAttribute("valid"); if(typeof(js)=="undefined" || js==null){//不需要验证 continue; } if(tagN != "INPUT" && tagN != "TEXTAREA" && tagN != "SELECT"){//只检验这三类的输入框 continue; } if(!tool.valid(elem,js)){ val_err_str += "<li>"+valid+"</li>"; } } }catch(e){ alert(e.description); } try{ if(val_err_str.length>0){ tool.t_showErr(val_err_str);//显示提示信息 return false; } }catch(e){ alert(e.description); } return true; } function validTool(){ this.notEmpty = function(v){ v = this.trim(v); if(v==null || v==""){ return false; } return true; } this.checkSel = function(obj){ var fields = document.getElementsByName(obj.name); var i=0; for(;i<fields.length;i++){ if(fields[i].checked){ return true; } } return false; } this.checkLen = function(v,len){ if(v.length>len){ return false; } return true; } this.trim = function(v){ return v.replace(/(^\s*)|(\s*$)/g, ""); } this.isInt = function(v){ var arr = v.match(/^-?\d+$/); return arr != null; } this.isFloat = function(v){ var arr = v.match(/^\d+(\.\d+)?$/); return arr != null; } this.isDate = function(v){ var arr; var re = /^(\d{4})-(\d{2})-(\d{2})$/; if (arr = re.exec(v)) { //alert(parseInt(arr[2],10)+" "+ parseInt(arr[3],10)); if (parseInt(arr[2],10) > 12) { return false; } if (parseInt(arr[3],10) > 31) { return false; } return true; } else { return false; } } this.valid = function(elem,fun){ if(fun=="notEmpty"){ return this.notEmpty(elem.value); }else if(fun=="maxLen"){ var len = elem.getAttribute("maxlength"); return this.checkLen(elem.value,len); }else if(fun=="notEmptyLen"){ var len = elem.getAttribute("maxlength"); return (this.notEmpty(elem.value) && this.checkLen(elem.value,len)); }else if(fun=="check"){ return this.checkSel(elem); }else if(fun=="int"){ return this.isInt(elem.value); }else if(fun=="date"){ return this.isDate(elem.value); }else if(fun=="float"){ return this.isFloat(elem.value); }else if(fun=="emptyOrDate"){ return !this.notEmpty(elem.value) || this.isDate(elem.value); }else{ return true; } } } validTool.prototype.t_showErr=function(t_errmess){ var sl = document.body.scrollLeft; var sh = document.body.scrollTop; var ow = document.body.offsetWidth; var oh = document.body.offsetHeight; try{ //alert("sl:"+sl+",sh:"+sh+",ow:"+ow+",oh:"+oh); var errDiv=document.getElementById("lay_err123"); if(errDiv==null || typeof(errDiv)=="undefined"){ errDiv = document.createElement("div"); errDiv.id="lay_err123"; if(ow>350){ errDiv.style.width="300px"; errDiv.style.left= (sl+ow/2-100)+"px"; }else{ errDiv.style.width="80%"; errDiv.style.left="8%"; } errDiv.style.position = "absolute"; errDiv.style.top=(sh+oh/4)+"px"; errDiv.style.backgroundColor="#99ccff"; errDiv.style.border="2px solid #3399ff"; errDiv.style.zIndex=200; errDiv.style.textAlign="left"; document.body.appendChild(errDiv); } var lay1 = document.getElementById("lay1_error"); if(lay1==null || typeof(lay1)=="undefined"){ lay1 = document.createElement("iframe"); lay1.id="lay1_error"; lay1.style.width = ow+"px"; lay1.style.height = oh+"px"; lay1.style.position = "absolute"; lay1.style.left = sl+"px"; lay1.style.top = sh+"px"; lay1.style.backgroundColor="#99ccff"; lay1.style.zIndex=1; lay1.style.filter = "alpha(opacity=50)"; document.body.appendChild(lay1); } var str="<div style=\"float:right;clear:both;cursor:hand;color:red;width:60px;\" " +"onclick=\"document.getElementById('lay_err123').style.display='none';document.getElementById('lay1_error').style.display='none';\">[关闭]</div><br>"; errDiv.innerHTML=str+t_errmess; errDiv.style.display=""; lay1.style.display=""; }catch(e){ //alert(e.description); } } </script>
======================================
demo
a.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0042)http://localhost:8080/beanwraper/MyJsp.jsp --> <HTML><HEAD><TITLE>valid form demo</TITLE> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <SCRIPT type=text/javascript> /** 使用说明 标签中自定义三个属性: |----------------------------------| |--- 属性名称 -------- 是否必须 ---| |+-- js -------- true ----| |+-- valid -------- true ----| |+-- maxlength -------- false ----| |----------------------------------| js属性:表示验证类型 js的值: notEmpty: 非空 maxlen: 可以为空,如果有值最大长度不能超过“maxlength”属性的值 notEmptyLen:非空且最大长度不能超过“maxlength”属性的值 date:日期类型,非空格式必须为yyyy-MM-dd, emptyOrDate:可为空的日期类型,格式必须为yyyy-MM-dd int:整数 float:浮点型数字 check:radio,checkbox类型必须选择 valid属性:表示出错时的提示信息 maxlength属性:最在长度,当js值为maxlen或notEmptyLen时必须有该属性 */ function validForm(formDom){ try{ var typeV; var elems = formDom.elements; var elem; var js;//验证要求 var tagN;//标签名 var valid;//验证的值 var val_err_str=""; var tool = new validTool(); for(var i=0;i<elems.length;i++){ elem = elems[i]; typeV = elem.type; tagN = elem.tagName; js = elem.getAttribute("js"); valid = elem.getAttribute("valid"); if(typeof(js)=="undefined" || js==null){//不需要验证 continue; } if(tagN != "INPUT" && tagN != "TEXTAREA" && tagN != "SELECT"){//只检验这三类的输入框 continue; } if(!tool.valid(elem,js)){ val_err_str += "<li>"+valid+"</li>"; } } }catch(e){ alert(e.description); } try{ if(val_err_str.length>0){ tool.t_showErr(val_err_str);//显示提示信息 return false; } }catch(e){ alert(e.description); } return true; } function validTool(){ this.notEmpty = function(v){ v = this.trim(v); if(v==null || v==""){ return false; } return true; } this.checkSel = function(obj){ var fields = document.getElementsByName(obj.name); var i=0; for(;i<fields.length;i++){ if(fields[i].checked){ return true; } } return false; } this.checkLen = function(v,len){ if(v.length>len){ return false; } return true; } this.trim = function(v){ return v.replace(/(^\s*)|(\s*$)/g, ""); } this.isInt = function(v){ var arr = v.match(/^-?\d+$/); return arr != null; } this.isFloat = function(v){ var arr = v.match(/^\d+(\.\d+)?$/); return arr != null; } this.isDate = function(v){ var arr; var re = /^(\d{4})-(\d{2})-(\d{2})$/; if (arr = re.exec(v)) { //alert(parseInt(arr[2],10)+" "+ parseInt(arr[3],10)); if (parseInt(arr[2],10) > 12) { return false; } if (parseInt(arr[3],10) > 31) { return false; } return true; } else { return false; } } this.valid = function(elem,fun){ if(fun=="notEmpty"){ return this.notEmpty(elem.value); }else if(fun=="maxLen"){ var len = elem.getAttribute("maxlength"); return this.checkLen(elem.value,len); }else if(fun=="notEmptyLen"){ var len = elem.getAttribute("maxlength"); return (this.notEmpty(elem.value) && this.checkLen(elem.value,len)); }else if(fun=="check"){ return this.checkSel(elem); }else if(fun=="int"){ return this.isInt(elem.value); }else if(fun=="date"){ return this.isDate(elem.value); }else if(fun=="float"){ return this.isFloat(elem.value); }else if(fun=="emptyOrDate"){ return !this.notEmpty(elem.value) || this.isDate(elem.value); }else{ return true; } } } validTool.prototype.t_showErr=function(t_errmess){ var sl = document.body.scrollLeft; var sh = document.body.scrollTop; var ow = document.body.offsetWidth; var oh = document.body.offsetHeight; try{ //alert("sl:"+sl+",sh:"+sh+",ow:"+ow+",oh:"+oh); var errDiv=document.getElementById("lay_err123"); if(errDiv==null || typeof(errDiv)=="undefined"){ errDiv = document.createElement("div"); errDiv.id="lay_err123"; if(ow>350){ errDiv.style.width="300px"; errDiv.style.left= (sl+ow/2-100)+"px"; }else{ errDiv.style.width="80%"; errDiv.style.left="8%"; } errDiv.style.position = "absolute"; errDiv.style.top=(sh+oh/4)+"px"; errDiv.style.backgroundColor="#99ccff"; errDiv.style.border="2px solid #3399ff"; errDiv.style.zIndex=200; errDiv.style.textAlign="left"; document.body.appendChild(errDiv); } var lay1 = document.getElementById("lay1_error"); if(lay1==null || typeof(lay1)=="undefined"){ lay1 = document.createElement("iframe"); lay1.id="lay1_error"; lay1.style.width = ow+"px"; lay1.style.height = oh+"px"; lay1.style.position = "absolute"; lay1.style.left = sl+"px"; lay1.style.top = sh+"px"; lay1.style.backgroundColor="#99ccff"; lay1.style.zIndex=1; lay1.style.filter = "alpha(opacity=50)"; document.body.appendChild(lay1); } var str="<div style=\"float:right;clear:both;cursor:hand;color:red;width:60px;\" " +"onclick=\"document.getElementById('lay_err123').style.display='none';document.getElementById('lay1_error').style.display='none';\">[关闭]</div><br>"; errDiv.innerHTML=str+t_errmess; errDiv.style.display=""; lay1.style.display=""; }catch(e){ //alert(e.description); } } </SCRIPT> <META content="MSHTML 6.00.2900.3395" name=GENERATOR></HEAD> <BODY> <FORM name=wtqk onsubmit="return validForm(this);" action="" method=post> <TABLE class=xg_table_3 cellSpacing=0 cellPadding=0 width="98%" border=0> <TBODY> <TR> <TD align=right width="10%">问题描述:</TD> <TD width="90%" colSpan=5><TEXTAREA id=wtqk_CWtms name=wtqk.CWtms rows=10 cols=100 maxlength="100" valid="问题描述不能为空最大长度为100" js="notEmptyLen"></TEXTAREA> </TD></TR> <TR> <TD align=right width="10%">解决情况:</TD> <TD colSpan=5><TEXTAREA id=wtqk_CJjqk name=wtqk.CJjqk rows=10 cols=100 maxlength="100" valid="问题描述最大长度为100" js="maxLen"></TEXTAREA> </TD></TR> <TR> <TD align=right width="10%">整数</TD> <TD colSpan=5><INPUT name="" valid="整数" js="int"> </TD></TR> <TR> <TD align=right width="10%">浮点数数</TD> <TD colSpan=5><INPUT name="" valid="浮点数" js="float"> </TD></TR> <TR> <TD align=right width="10%">提交时间:</TD> <TD width="23%"><INPUT id=wtqk_DTjsj style="WIDTH: 127px" name=wtqk.DTjsj valid="日期类型" js="date"> </TD> <TR> <TD align=middle colSpan=2></TD> <TD colSpan=4><INPUT id=wtqk_CCnqk type=radio value=是 name=wtqk.CCnqk valid="radio不能为空" js="check">是 <INPUT id=wtqk_CCnqk type=radio value=否 name=wtqk.CCnqk>否 <INPUT id=wtqk_C type=checkbox value=是 name=wtqk.checkbox valid="checkbox不能为空" js="check">是 <INPUT id=wtqk_C type=checkbox value=否 name=wtqk.checkbox>否 </TD></TR></TBODY></TABLE> <DIV class=ntextcenter><INPUT class=xg_wl_btn4 id=Submit type=submit value="确 定" name=Submit> </DIV></FORM></BODY></HTML>
发表评论
-
IE和Firefox浏览器下javascript、CSS兼容性研究
2010-03-27 16:03 1386转载:http://blog.csdn.net/herojam ... -
Internet Explorer 无法打开Internet站点 http://xxxxx 已终止操作
2010-03-27 15:51 3386在开发中也遇到这个情况, 原因可能是因为程中: 在IE下,当 ... -
W3C document.body document.documentElement
2010-03-27 13:18 1454转载:http://www.seobye.com/div-cs ... -
height、offsetHeight 与 clientHeight的区别
2010-01-18 14:23 1803转载:http://www.pqshow.com/design ... -
单双引号引发的问题 HTML中嵌套 传递参数为函数句柄的方法
2009-10-30 13:14 2705生成HTML字符串时,传递的函数句柄会使用其函数体本身替换。 ... -
自定义对象
2009-09-08 23:03 823转载:http://www.ccvita.com/94.htm ... -
创建带遮罩层的提示框
2009-07-16 10:51 1020function showmsg(t_errmess){ ... -
页面跳转跨域问题
2009-07-15 19:43 2820发现有问题的IE版本:6.0.2900.2180.xpsp_s ... -
referer opener parent的区别
2009-06-01 11:33 1196http://zhcsmx22.blog.51cto.com/ ... -
dTree改造
2009-04-20 15:23 2688/*------------------------- ... -
解决HTML内部元素的Mouse事件干扰
2008-11-14 13:17 1278转载:http://www.cnblogs.com ... -
EXT表单的应用3
2008-09-15 12:39 1399EXT表单的应用3 关键字: 表单的应用3 引自http:// ... -
JS禁止右击菜单
2008-08-13 15:25 2503function key(){ if(event.s ... -
拖动层节点
2008-08-01 10:56 997这是一个简单的拖动,和树节点配合见附件 <html& ...
相关推荐
"强大的表单验证框架"标题所指的,很可能是用于简化这一过程的高效工具,旨在帮助开发者更方便、更有效地进行表单数据验证。 表单验证框架通常包含以下核心功能: 1. **规则定义**:提供丰富的验证规则,如非空、...
formvalidator 是一个强大的前端表单验证框架,专为开发者提供高效、灵活的表单数据验证解决方案。这个框架允许开发者在用户提交表单前检查输入的数据,确保数据的完整性和准确性,从而提高用户体验并减少服务器端的...
Java表单验证框架是开发Web应用时不可或缺的一部分,它能够帮助开发者轻松地对用户输入的数据进行有效性检查,确保数据的准确性和安全性。本框架以简洁、高效为特点,通过在表单字段上添加正则表达式标签,即可实现...
《jQuery表单验证框架——深入理解jQuery.validate》 在网页开发中,表单验证是必不可少的一环,它能确保用户输入的数据符合预期,减少服务器端的处理负担,提高用户体验。jQuery是一个广泛使用的JavaScript库,而...
在Web开发中,表单验证框架的实现是至关重要的,它确保了用户输入的数据符合预设的规则,防止无效或恶意的数据进入系统。本部分将深入讲解如何在B/S架构的应用程序中实施一个简单的表单验证框架,以登录表单为例。 ...
**JSP客户端表单验证框架JSValidation** JSValidation是一款基于JavaScript的轻量级表单验证框架,主要用于在JSP(JavaServer Pages)应用中实现客户端的表单数据验证。它提供了一种简单、高效的手段来确保用户在...
标题中的“自定义表单验证框架”指的是一个用于在Web应用程序中验证用户输入的自定义工具。这样的框架允许开发者根据业务需求制定特定的验证规则,提高应用的安全性和用户体验。表单验证是确保用户提交的数据符合...
传统的验证方式往往需要编写大量的JavaScript代码,而这套框架通过提供配置文件和特定的标签使用,使得表单验证变得更加简单易行。 在使用**JS客户端表单验证框架**时,开发者不再需要手动编写复杂的JavaScript函数...
sui表单验证框架是一款强大的JavaScript开发工具,专用于实现高效、灵活的表单验证功能。在Web应用中,表单验证是不可或缺的一部分,它确保用户输入的数据符合预设的规则,从而提高数据质量和用户体验。sui框架凭借...
简便的XML配置,易于扩充的验证方式(目前支持13种验证,囊括了大部分常用表单验证),使得JSValidation成为验证框架的首选。 1. JSValidation是什么? 如首页所说,JSValidation是客户端表单验证框架,用在...
表单验证框架验证是提高这一过程效率和用户体验的有效手段。本文将详细探讨三种常见的表单验证方法:JavaScript验证、框架验证以及正则表达式验证。 首先,我们来了解**JavaScript验证**。JavaScript是一种客户端...
在网站开发中,Ajax(Asynchronous JavaScript and XML)表单验证框架是提高用户体验的重要工具。它允许我们在不刷新整个页面的情况下进行数据验证,为用户提供实时反馈,极大地提升了交互性。本教程将深入探讨Ajax...
标签“Java”可能表明这个框架与Java有关,尽管表单验证通常在前端JavaScript中进行,但有可能这个框架与后端Java服务器端验证有集成,或者由Java开发者创建并发布。 现在,让我们逐一分析压缩包中的文件: 1. `...
**标题解析:** "简单且强大的js表单验证框架" 这个标题表明我们要讨论的是一种JavaScript(js)实现的轻量级表单验证工具。它强调了易用性和功能的强大性,暗示这个框架可能提供了丰富的验证规则和灵活的自定义选项...
本篇将详细介绍Struts2的极速表单验证框架,特别是其注解方式的使用。 ### 1. 表单验证的重要性 在Web应用程序中,验证用户输入的数据是必不可少的,因为不正确的数据可能导致业务逻辑错误,甚至安全漏洞。Struts2...
在基于Hibernate Validator的异步表单校验框架中,通常会结合Ajax技术,当用户填写表单时,后台会实时地、异步地对输入的数据进行验证,并将结果返回给前端,使得用户可以及时得到反馈。 **三、使用步骤** 1. **...