`

通用的js校验,等待扩展

阅读更多

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>登录与注册</title>
<script type="text/javascript">
var check={
   /**/
   /*定义提示信息*/
   e1:"两次输入的密码不一致",
   e2:"-请填写此项",
   e3:"-请正确填写此项",
   e4:"-输入长度不能小于",
   e5:"-输入长度不能超过",
   /*定义验证正则表达*/
   Email    : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
   Phone    : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/,
   Mobile   : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/,
   Url      : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
   Currency : /^\d+(\.\d+)?$/,
   Number   : /^\d+$/,
   Zip      : /^[1-9]\d{5}$/,
   QQ       : /^[1-9]\d{4,8}$/,
   Integer : /^[-\+]?\d+$/,
   Double   : /^[-\+]?\d+(\.\d+)?$/,
   English : /^[A-Za-z]+$/,
   Chinese : /^[\u0391-\uFFE5]+$/,
   Username : /^[a-z]\w{3,}$/i,
   UnSafe   : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
   /*获取表单对象*/
   $:function(id){return document.getElementById(id);},
   /*获取表单值*/
   $v:function(id){return (this.$(id)? this.$(id).value:null);},
   toL:function(str){return str.toLowerCase();}, //字符串转换成小写
   toU:function(str){return str.toUpperCase();}, //字符串转换成大写
   /*检查两次输入的密码是否相同,不同的话返回提示信息*/
   pwd:function(id1,id2){with(this){if($v(id1)!=$v(id2)){$(id2).value='';return e1;}return ''}},
   /*用正则表达式验证表单值是否符合,如f='REmail4-10'表示必须填写格式为Email的长度4-10的字符串*/
   reg:function (id,f){
       var val=this.$(id);if(val){val=val.value}else{return 'arguments error'};
       /*以下判断表单是否必须填写,如果是表单为空时返回错误*/
    if(f.indexOf('R')==0){f=f.substring(1);if(!val)return this.e2;}
       /*当表单值不为空时判断值的类型是否符合*/
    if(val){      
        var t=/([A-Za-z]*)(\d*)\-*(\d*)/; //取出判断判断字符串中的规则名称,最小长度,最大长度
     if(t.test(f)){
       t.exec(f);r1=RegExp.$1;r2=RegExp.$2;r3=RegExp.$3;
       if(r1){if(this[r1])if(!this[r1].test(val))return this.e3;}//判断类型
          if(r2 && val.length<r2){return this.e4+r2;} //判断长度是否小于设定
    if(r3 && val.length>r3){return this.e5+r3;} //判断长度是否超过设定
     }
       }
    return '';
   },
   /*根据参数类型调用判断函数,返回提示信息*/
   error:function(id,id2){with(this){return ((toL(id)!=toL(id2) && $(id2))?pwd(id,id2):reg(id,id2));}},
   errors:function(){
      var args=arguments,e,ers='';
   for(i=0;i<(args.length-1);i+=2){e=this.error(args[i],args[i+1]);if(e)ers+=e;}
   return ers; //返回多条出错信息
   },
   /*弹出提示信息*/
   alt:function(){
      var args=arguments,e,ers='';
   for(i=0;i<(args.length-2);i+=3){e=this.error(args[i],args[i+1]);if(e)ers+=args[i+2]+e+"\n";}
   if(ers){ers="以下填写有误:\n"+ers;alert(ers);}
   return (ers =='');
   },
   /*将一条提示信息显示到span*/
   info:function(id,id2,span){
   with(this){if($(span)){ers=error(id,id2);$(span).innerHTML=ers;return (ers=='');}return false;}
   },
   /*将多条信息显示到span里面如check.infos('spanid','id1','reg1','info1','id2','reg2','info2')*/
   infos:function(span){
      with(this){    
        if($(span)){
    var args=arguments,e,ers='';
    for(i=1;i<(args.length-2);i+=3){e=this.error(args[i],args[i+1]);if(e)ers+=args[i+2]+e+"\n";}
    $(span).innerHTML=ers; return (ers =='');
   }return false;
   }
   }
}
</script>
</head>

<body>
<div>
<form action="" method="post" onsubmit="return check.infos('errors','name','RUsername','姓名','eml','REmail','电子邮箱');">
<div id="errors"></div>
<label>注册名称
<input name="name" maxlength="15" type="text"/><span id="forname"></span></label><br />
<label>登录密码
<input name="pwd1" type="text" onblur="return"/></label><br />
<label>重复密码
<input name="pwd2" type="text" onblur="check.info('pwd1','pwd2','pp')"/>
<span id="pp"></span></label><br />
<label>电子邮箱
<input name="eml" type="text" onblur=""/></label><br />
<input name="actions" type="submit" />
</form>
</div>

</body>
</html>

分享到:
评论

相关推荐

    通用JS表单验证

    使用时请将下面的javascript代码存到一个单一的js文件中。 1、表单要求 (this)"&gt; 将对表单中的所有以下类型的域依次验证,所有验证是去除了前导和后缀空格的,要注意是区分大小写的。 2、空值验证 表单中任意域...

    js验证表单 js验证表单

    js表单验证控制代码大全 ...2.8:form文本域的通用校验函数 */ 1. 长度限制 function test() { if(document.a.b.value.length&gt;50) { alert("不能超过50个字符!"); document.a.b.focus(); return false; } } ()"&gt; ...

    企业开发通用框架:E(易)框架

    系统权限框架采用spring-security oauth2,实现前后台权限校验,权限实现了用户授权和客户端授权。 持久层采用JPA ,能够很好的适应不同数据库,并实现注解式动态查询功能。 数据响应该采用json格式。 服务采用REST...

    开放融合易用@门户移动开发新体验-逐浪CMS v8.0.1全面发布[基于dotNET Core]

    28、扩展:增加form表单校验支持类 29、增加:全新优化的版本号,可以于全局设置版本号而不需要设置标签。 30、优化:微信购物流程,支持读取用户地址等能力。 31、优化:前端模板,所有P标签不再预留底部1rem空间,...

    JSP动态网站开发基础教程与实验指导(从基础到应用)光盘

    10.4.1 通用模块及首页实现 245 10.4.2 用户管理模块 249 10.4.3 实现宠物信息查询操作 252 10.4.4 实现客户信息修改操作 257 10.4.5 实现宠物诊断信息添加操作 261 10.4.6 实现兽医信息浏览操作 265 第11章 Web...

    Python 支付整合开发包的实现

    支持支付类型横向扩展 统一异常处理 支持支付方式及功能 支付方式 pay_type=ali_pay pay_type=wx_pay 通用功能 电脑网站支付 手机网站支付 APP支付 异步通知校验 交易查询 交易取消 退款 退款查询 ...

    牛叉内容管理系统(NiuXcms) v1.07.rar

    10.在线升级指纹校验让你及时和官方程序同步安全无忧。 11.全开放式主题皮肤设计,随时随地更换你喜欢的主题风格,自制主题皮肤即插即用。 12.使用简单!所有使用者的感觉,但功能却强大! 13.功能强大,操作最...

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    16.1 通用扩展 203 16.2 枚举和数组 204 16.3 Hash 205 16.4 字符串扩展 206 16.5 数值的扩展 208 16.6 时间和日期的扩展 208 16.7 Ruby符号的扩展 210 16.8 with_options 211 16.9 Unicode支持 211 第17章 数据迁移...

    GoodProject Maven Webapp.zip

    AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,...

    JavaScript高级教程

    第 1 章 JavaScript 是什么...............................................1 3 1.1 历史简述..............................................1 1.2 JavaScript 实现................................................

    Winson.Framework 1.0发布!

    6、另此DEMO附一个无限级分类的管理操作及相关的数据库 &lt;br&gt;五、其他说明: &lt;br&gt;本程序目录里已有多个试例DEMO,基本上主要功能均有演示了,另有一个非常通用方便的JS &lt;br&gt;校验文件,在js/check.js目录...

    Java Web程序设计教程

    1.2.4使用javascript与ajax提升用户体验 7 1.3多种集成开发环境 9 1.3.1集成开发环境简介 9 1.3.2web应用服务器说明 11 本章小结 14 课后练习 14 第2章 javaee运行及开发环境 15 2.1jdk的下载与安装 15 ...

    动软.Net代码生成器

    动软.Net代码生成器Codematic是一款为C#数据库程序员设计的自动代码生成器,Codematic生成的代码基于面向对象的思想和三层架构设计,可以直接生成三...•免费提供数据访问类库组件,页面数据校验等等通用函数类库源码。

    lamp-cloud微服务脚手架

    故在hibernate-validator的基础上封装了zuihou-validator-starter起步依赖,提供一个通用接口,可以获取需要校验表单的规则,然后前端使用后端返回的规则, 以后若规则改变,只需要后端修改即可。 12、防跨站脚本...

    python入门到高级全栈工程师培训 第3期 附课件代码

    11 FTP之创建文件夹及MD5校验思路 第33章 01 操作系统历史 02 进程的概念 03 线程的概念 04 线程的调用以及join方法 05 setDaemon方法和继承式调用.baiduyun.downloading 05 setDaemon方法和继承式调用 第34章 ...

    新酷CMS网站管理系统 10.018.78.rar

    新酷CMS网站管理系统是面向各类中大型站点建设和管理而设计研发的通用建站管理系统(又称新酷CMS建站系统),是目前国内用户数量最多、最受用户欢迎的建站系统。其强大的功能和简单易用的完善融合赢得了广大用户的一致...

    asp.net知识库

    完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算...

    KODExplorer 芒果云-资源管理器

    加入严格的校验机制 - 首次运行环境检测[data目录检测,必须的函数支持提示] - 上传已存在处理——创建副本(另外包括粘贴,解压) - 选中优化 ctrl选中拖拽 - 键盘快捷键选中文件,多个字符支持 - 文件文件夹权限...

    表单验证大全

    2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等 [removed] &lt;!-- function isNumber(String) { var Letters = "1234567890-"; //可以自己增加可输入值 var i; var c; if(String.charAt...

Global site tag (gtag.js) - Google Analytics