All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET从零起步设计网站全过程(6)_[Asp.Net教程]
偷懒秘笈之一键生成,Ajax,Control,Toolkit,标记_[Asp.Net教程]
高级自定义查询、分页、多表联合存储过程_[SQL Server教程]
ASP.NET技巧:Session丢失原因与解决方案小结_.net资料_编程技术
ASP.NET,2.0中层次数据的处理_.net资料_编程技术
ado.net数据库连接_[Asp.Net教程]
使用Data,Access,Application,Block,得到存储过程的返回值_[Asp.Net教程]
ASP.NET2.0站点登录、导航与权限管理_[Asp.Net教程]
在SQL Server中建立定时任务,处理时间超过一天的记录_[SQL Server教程]
使用MS,SQL7的LINKED,SERVER第三篇_mssql学习_编程技术
Reading number is top 10 pictures
ashlynn brooke
The money of more than 100 countries and regions13
初五接财神啦!五路财神齐来到
毕姥爷事件,告诉你6条真理
美女
Fan bingbing black wings for platform and DanLuoWang believes beauty1
A man's favorite things5
The real super beauty11
007 James. bond's new lover
The money of more than 100 countries and regions16
Download software ranking
Unix video tutorial17
The king of fighters 97(Mobile phone games-apk)
Sora aoi, the nurse, uniform ,nursing assistant
Unix video tutorial11
I'm come from Beijing2
SP4 for SQL2000
apache-tomcat-6.0.33
Boxer Classic video2
超级战舰
塘西风月痕
delv published in(发表于) 2013/12/31 6:44:39 Edit(编辑)
简洁实用的表单验证程序_JavaScript技术_编程技术

简洁实用的表单验证程序_JavaScript技术_编程技术

简洁实用的表单验证程序_JavaScript技术_编程技术-你的首页-uuhomepage.com







看了山人表单验证,又看了其他一些验证程序和相关的一些参考资料,写出了一个比较简洁的js表单验证程序。




功能简述




验证:







  • http地址


  • 时间日期


  • e-mail


  • 数字


  • 字符长度检查


  • 一项输入与另一项输入比较(例如:密码的确认输入)


  • 大小比较(只能有一个比较符号)



特点







  • 扩展容易,可以方便的添加自己需要的验证方式


  • 兼容性好(ie5,6 firefox,oprea)


  • 可用性好,没有使用alert()来弹出提示



编写思路




整个程序的结构及较简单,为了能够验证一些常用的格式,先对js的内置对象进行了扩展。比如:




String.prototype.isUrl = function(){
var url = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
var tmpStr = this;
return url.test(tmpStr);
}




这个用来验证http地址。




然后写了一个对象叫做vform 包含了主要的功能,vform初始化的时候,会检查添加好的验证规则,并将要验证的表单控件对象扩展,添加validate() 和 validlength()两个函数,并且添加onblur事件来进行验证。
出错提示采用的建立div对象的方法,出错就显示,正确就隐藏。所以还需要给div定义一个样式。
使用前需要指定表单的id 注意是id不是name 要不然会出错,而规则添加的时候要指定的是表单控件的name属性不是id




验证规则参数:




obj — 表单控件name




minLength — 填写的字符串最小长度0意味着可以不填 而1意味着是必添




dataType — 验证格式 有







  • e-mail


  • url


  • date


  • number


  • any


  • 还有两种动态的格式用\开头, \表单控件的name 表示必须与之的值一样;


  • \>数字 表示大于数字,类推;但是没有\>=这样的



maxLength — 最大长度。




与其他程序不一样的是:我对http地址与日期格式地址的处理不同,填入的地址没有http://我会添加上后验证,这样比较人性化,符合可用性的要求。日期的处理也是一样,先尽可能的对填写的数字进行格式转化,然后再验证。格式采用了yyyy-mm-dd的格式。




原始位置:http://lxbzj.com/product/vform/index.htm ,原始文件应用一个日历输入控件在此省略。。。




总代码




运行代码框







*









































vForm1.0beta







  • 作者:雷晓宝



  • 时间:2006-08-08



  • 网址:http://lxbzj.com



  • e-mail:lxbzmy@163.com



  • 许可:LGPL






功能简述:










  1. 验证:







    • http地址。



    • 时间日期



    • e-mail



    • 数字



    • 字符长度检查



    • 一项输入与另一项输入比较(例如:密码的确认输入)



    • 大小比较(只能有一个比较符号)












  2. 特点







    • 扩展容易,可以方便的添加自己需要的验证方式



    • 兼容性好(ie5,6 firefox,oprea)。



    • 可用性好,没有使用alert()来弹出提示;















使用方法




使用时,需要定义一个出错提示框的样式,本例的样式为:div.info {


width: 170px;



overflow:visible;



height:auto;



font-size: small;



position: absolute;



background-color: #FFffdd;



border: 1px solid #000;



filter:progid:DXImageTransform.Microsoft.Shadow(color=#111111,direction=135,strength=3);



padding: 5px;



}




然后在网页&lt;head&gt;部分中添加&lt;script type="text/javascript" src="calendar/calendar.js"&gt;&lt;/script&gt;



,然后可以写一个函数设置表单名称,验证规则,function start()



{






vFormvform.form_id = 'form1';



vform.err_class = 'info';



// (obj,required(true/false),dataType,errmsg,minlen,maxlen,rule,patams)



//验证规则,逐条填写



vform.rules.add('frm_name',1,'e-mail','请您按照 user@domain.com 的格式输入电子邮件地址。&lt;br /&gt;&lt;span style="color:#f00"&gt;必填项目&lt;/span&gt;');



vform.rules.add('myweb',1,'url','请您按照 http://www.domain.com 的格式输入您的网址。&lt;br /&gt;&lt;span style="color:#f00"&gt;必填项目&lt;/span&gt;');



vform.rules.add('dateinput',0,'date','请按2000-03-05 的格式输入日期。&lt;br /&gt;&lt;span style="color:#f00"&gt;必填项目&lt;/span&gt;');



vform.rules.add('qq',0,'number','这必须是一个整数');



vform.rules.add('least10',10,'any','您必须至少填写10个&lt;br /&gt;&lt;span style="color:#f00"&gt;必填项目&lt;/span&gt;');



vform.rules.add('ok100',1,'any','这里被限制为100个字符&lt;br /&gt;&lt;span style="color:#f00"&gt;必填项目&lt;/span&gt;',100);



vform.init();



}
最后为body添加onload事件。 &lt;body onload="start();"&gt;



















[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]






















添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.