万能的表单验证 还是存在问题 高手们 、、、

问题描述

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title></head><body><scriptlanguage="JavaScript"src="Check.js"></script>通用表单函数测试:<formname="form1"onsubmit="returnCheckForm(this)">test:<inputtype="text"name="test">不验证<br>账号:<inputtype="text"check="^/S+$"warning="账号不能为空,且不能含有空格"name="id">不能为空<br><!--check="^/S+$"-->密码:<inputtype="password"check="/S{6,}"warning="密码六位以上"name="id">六位以上<br>电话:<inputtype="text"check="^/d+$"warning="电话号码含有非法字符"name="number"value=""><br>相片上传:<inputtype="file"check="(.*)(/.jpg|/.bmp)$"warning="相片应该为JPG,BMP格式的"name="pic"value="1"><br>出生日期:<inputtype="text"check="^/d{4}/-/d{1,2}-/d{1,2}$"warning="日期格式2004-08-10"name="dt"value="">日期格式2004-08-10<br>省份:<selectname="sel"check="^0$"warning="请选择所在省份"><optionvalue="">请选择<optionvalue="1">福建省<optionvalue="2">湖北省</select><br>选择你喜欢的运动:<br>游泳<inputtype="checkbox"name="c"check="^0{2,}$"warning="请选择2项或以上">篮球<inputtype="checkbox"name="c">足球<inputtype="checkbox"name="c">排球<inputtype="checkbox"name="c"><br>你的学历:大学<inputtype="radio"name="r"check="^0$"warning="请选择一项学历">中学<inputtype="radio"name="r">小学<inputtype="radio"name="r"><br>个人介绍:<textareaname="txts"check="^[/s|/S]{20,}$"warning="个人介绍不能为空,且不少于20字"></textarea>20个字以上<inputtype="submit"></form></body></html>Check.jsfunctionCheckForm(oForm){varels=oForm.elements;//遍历所有表元素for(vari=0;i<els.length;i++){//是否需要验证if(els[i].check){//取得验证的正则字符串varsReg=els[i].check;//取得表单的值,用通用取值函数varsVal=GetValue(els[i]);//字符串->正则表达式,不区分大小写varreg=newRegExp(sReg,"i");if(!reg.test(sVal)){//验证不通过,弹出提示warningalert(els[i].warning);//该表单元素取得焦点,用通用返回函数GoBack(els[i])returnfalse;}}}}//通用取值函数分三类进行取值//文本输入框,直接取值el.value//单多选,遍历所有选项取得被选中的个数返回结果"00"表示选中两个//单多下拉菜单,遍历所有选项取得被选中的个数返回结果"0"表示选中一个functionGetValue(el){//取得表单元素的类型varsType=el.type;switch(sType){case"text":case"hidden":case"password":case"file":case"textarea":returnel.value;case"checkbox":case"radio":returnGetValueChoose(el);case"select-one":case"select-multiple":returnGetValueSel(el);}//取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数functionGetValueChoose(el){varsValue="";//取得第一个元素的name,搜索这个元素组vartmpels=document.getElementsByName(el.name);for(vari=0;i<tmpels.length;i++){if(tmpels[i].checked){sValue+="0";}}returnsValue;}//取得select的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数functionGetValueSel(el){varsValue="";for(vari=0;i<el.options.length;i++){//单选下拉框提示选项设置为value=""if(el.options[i].selected&&el.options[i].value!=""){sValue+="0";}}returnsValue;}}//通用返回函数,验证没通过返回的效果.分三类进行取值//文本输入框,光标定位在文本输入框的末尾//单多选,第一选项取得焦点//单多下拉菜单,取得焦点functionGoBack(el){//取得表单元素的类型varsType=el.type;switch(sType){case"text":case"hidden":case"password":case"file":case"textarea":el.focus();varrng=el.createTextRange();rng.collapse(false);rng.select();case"checkbox":case"radio":varels=document.getElementsByName(el.name);els[0].focus();case"select-one":case"select-multiple":el.focus();}}

解决方案

解决方案二:
貌似没有万能这一说复核项目需求就行,需求是无极限的~
解决方案三:
up修改!

时间: 2024-08-29 10:44:44

万能的表单验证 还是存在问题 高手们 、、、的相关文章

封装好的一个万能检测表单的方法

 这篇文章主要介绍了一个封装好的万能检测表单的方法,非常的好用,使用也很方便,这里推荐给小伙伴们.     检测表单中的不能为空(.notnull)的验证 作用:一对form标签下有多个(包括一个)表单需要提交时,使用js准确的判断当前按钮对那些元素做判断 用法:在form标签下 找到当前 表单的容器 给予class="form",当前表单的提交按钮给予 class="check" 需要验证为空的元素给予class="notnull" nullm

封装好的一个万能检测表单的方法_javascript技巧

检测表单中的不能为空(.notnull)的验证  作用:一对form标签下有多个(包括一个)表单需要提交时,使用js准确的判断当前按钮对那些元素做判断  用法:在form标签下 找到当前 表单的容器 给予class="form",当前表单的提交按钮给予 class="check"  需要验证为空的元素给予class="notnull" nullmsg="xx不能为空!"提示,需要进行逻辑判断的表单给予class="n

js-为什么这个form表单验证不成功?

问题描述 为什么这个form表单验证不成功? function checkDelForm() { var uids = -1; uids = document.getElementsByName(""delUids"").length; if (uids == -1) { alert(""请选择要删除的用户""); return false; } else { return true; } } <form name=&q

HTML5跨浏览器前端表单验证

表单验证是广大前端非常头疼的一项事务,特别是在面对复杂表单的情况下,例如某些输入框仅接受数字输入,某些字段是必填,有些项又必须满足一定输入规则--为了提供更好的用户体验,这些繁琐的需求不得不去花大量时间和代码去满足.在新的 HTML5 标准中,增加了十几个表单输入类型和特性,例如 autofocus 自动焦点,以及之前介绍过的 Placeholder 占位符.这些贴心的特性支持大大解放了前端开发人员,我们仅需使用新的标签元素或属性,就可以完成过去需要大量 javascript 代码才能完成的功能

表单验证代码实例:jquery.validate.js表单验证插件

文章简介:很好用的JQuery表单验证插件--jquery.validate.js. jquery.validate.js是JQuery旗下的一个验证插件,借助JQuery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法.使用前请先下载必要的JQuery插件:jquery-1.4.2.min.js和jquery.validate.min.js. 下面演示如何使用jquery.validate.js插件进行表单的验证. 这是HTML表单:<form id="regFro

一个非常强大完整的web表单验证程序

web|表单验证|程序 表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上. Validator是基于javascript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证.因为是伪静态类,所以在调用时不需要实例化,直接以"类名+.语法+属性或方法名&quo

使用validwhen设计复杂的Struts表单验证

表单验证|设计 通过Struts 1.2提供的validwhen 验证器可以轻松的创建更加复杂灵活的表单验证. 比如说,我们要验证用户两次输入的密码是否相同,或是只有当用户填写表单项"姓氏"时,表单项"名字"才是必须的. validwhen 需要声明一个叫test的var字段,这个变量的值是一个布尔型的表达式,比如:     <var-name>test</var-name>    <var-value>((orderLines[

通用表单验证函数

表单验证|函数 不管是动态网站,还是其它B/S结构的系统,都离不开表单表单做为客户端向服务器提交数据的载体担当相当重要的角色.这就引出了一个问题,提交的数据合法吗?摆在我们面前的问题就是验证这些数据保证所提交的数据是合法的.所以,我们写了一个大堆的验证函数.当我们开始新的一个项目的开发时,我们又得写一大堆的验证函数,然后再调试这一大堆的函数... 本文将介绍一种方法来提高我的代码的可重用性,提高我们的开发效率. 个人以为表单的验证应该包含两部分:第一,判断用户输入的数据是否合法.第二,提示用户你

表单验证控制Validator4.0 beta使用教程及下载

教程|控制|下载|表单验证|validator|我佛山人 4.0 功能特点1.支持Ajax验证2.实现密码安全度等级验证及显示3.5种配置方式4.6种消息提示模式5.能避免网络原因未完全下载validator.js时提交未经验证表单的6.避免变量名冲突7.详细的帮助说明文档8. ... 下载:CHM帮助: Validator4.0.rar (116.82 KB) 程序文件: validator.rar (37.97 KB) (内含超简单代码生成,目前正在不断加强) 注意:1.目前提供的脚本是基于