jQuery插件formValidator实现表单验证


Posted in Javascript onMay 23, 2016

本文实例为大家分享了formValidator实现表单验证的具体代码,供大家参考,具体内容如下

测试效果:

jQuery插件formValidator实现表单验证

所需的库文件:

jQuery插件formValidator实现表单验证

实现代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>表单校验测试</title>
<link rel="stylesheet" href="<%=request.getContextPath()%>/css/bootstrap.min.css">
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/formValidator-4.1.3.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/formValidatorRegex.js"></script>
<script language="javascript" src="<%=request.getContextPath()%>/js/DateTimeMask.js" type="text/javascript"></script>
</head>
<body>
<!-- 
   【注】表单验证的参数中的方法区分大小写,采用骆驼命名法。如文档中的onerror: 应写成 onError:
 -->
<!-- 验证表单之文本输入框 -->
<div class="col-xs-offset-2 col-xs-8">
  <form id="inputTest" action="/test.do" method="post">
    <table class="table table-bordered table-striped">
      <caption style="font-size: 30px;font-weight: bold;color:#894502;">验证表单之文本输入框</caption>
      <tr>
        <td width="100px"><label for="username">用户名:</label></td>
        <td width="100px"><input type="text" id="username"></td>
        <td width="100px"><span id="usernameTip"></span></td>
      </tr>
      <tr>
        <td width="100px"><label for="sex">性别:</label></td>
        <td width="100px"><input type="radio" id="sex" name="sex" value="男">男<input type="radio" id="sex1" name="sex" value="女">女</td>
        <td width="100px"><span id="sexTip"></span></td>
      </tr>
      <tr>
        <td width="100px"><label for="sex">出生年月:</label></td>
        <td width="100px"><input type="text" id="birthday" name="birthday" value="2015-08-09"></td>
        <td width="100px"><span id="birthdayTip"></span></td>
      </tr>
      <tr>
        <td width="100px"><label for="idcard">身份证号</label></td>
        <td width="100px"><input type="text" id="idcard" name="idcard"></td>
        <td width="100px"><span id="idcardTip"></span></td>
      </tr>
      <tr>
        <td width="100px"><label for="email">邮箱</label></td>
        <td width="100px"><input type="email" id="email" name="email"></td>
        <td width="150px"><span id="emailTip"></span></td>
      </tr>
      <tr> 
       <td width="100px"><label for="degree">学历</label></td>
       <td width="100px"><select name="degree" id="degree">
         <option value="">--请选择--</option>
         <option value="a">专科</option>
         <option value="b">本科</option>
         <option value="c">研究生</option>
         <option value="e">硕士</option>
         <option value="d">博士</option>
        </select> 
       </td>
       <td width="150px"><div id="degreeTip"></div></td>
      </tr>
       <tr> 
       <td width="100px"><label for="degree">国家区号</label></td>
       <td width="200px">
        <input id="Tel_country" name="Tel_country" style="width: 20px;" value="" />
        -地区区号 
        <input id="Tel_area" name="Tel_area" style="width: 35px;" />
        -电话号码 
        <input id="Tel_number" name="Tel_number" style="width: 60px;" />
        -分机号码 
        <input id="Tel_ext" name="Tel_ext" style="width: 30px;" />
       </td>
       <td width="150px"><div id="telTip"></div></td>
      </tr>
      <tr> 
       <td width="100px"><label for="qq1">兴趣爱好</label></td>
       <td width="200px"> <input type="checkbox" name="xqah_one" id="qq1"/>
          乒乓球 
        <input type="checkbox" name="xqah_one" id="qq2" value="1" />
          羽毛球 
        <input type="checkbox" name="xqah_one" id="qq3" value="2" />
          上网 
        <input type="checkbox" name="xqah_one" id="qq4" value="3" />
           旅游 
        <input type="checkbox" name="xqah_one" id="qq5" value="4" />
           购物 
       </td>
       <td width="150px"><div id="test3Tip"></div></td>
      </tr>
      <tr> 
       <td width="100px"><label for="shouji">手机号码</label></td>
       <td width="200px"><input type="text" id="shouji" name="shouji"/></td>
       <td width="150px"><div id="shoujiTip"></div></td>
      </tr>
      <tr> 
       <td width="100px"><label for="selectmore">多选select控件</label></td>
       <td width="200px">
        <select name="selectmore" size="3" id="selectmore" multiple="true" style="width: 100px;">
         <option value="0">多选1</option>
         <option value="1">多选2</option>
         <option value="2">多选3</option>
        </select>(按住ctrl键多选)
       </td>
       <td width="150px"><div id="selectmoreTip"></div></td>
      </tr>
      <tr> 
       <td width="100px"><label for="ms">你的描述</label></td>
       <td width="100px"><textarea id="ms" name="ms" cols="50" rows="3">仅支持中文并且要求在10个字以上</textarea></td>
       <td width="150px"><div id="msTip"></div></td>
      </tr>
       <tr> 
       <td width="100px"><label for="password1">密码</label></td>
       <td><input type="password" id="password1" name="password1"/></td>
       <td width="150px"><div id="password1Tip"></div></td>
      </tr>
      <tr> 
       <td width="100px"><label for="password2">重复密码</label></td>
       <td><input type="password" id="password2" name="password2"/></td>
       <td width="150px"><div id="password2Tip"></div></td>
      </tr>
      <tr>
        <td colspan="3" align="center"><input class="btn btn-primary" type="submit" value="提交"></td>
      </tr>
    </table>
  </form>
</div>
<script type="text/javascript">
$(function(){
  //初始化表单验证
  $.formValidator.initConfig({formID:"inputTest",debug:true,onSuccess:function(){
    alert("验证通过");
  },onError:function(){
    alert("验证有误")
  }});
  //验证表单中的姓名  【注】测试表明 如果设置了onErrorMin 则结果会调用onErrorMin的方法 而屏蔽onError的方法 onErrorMax同理
  $("#username").formValidator({onShow:"请输入姓名",onFocus:"请注意填入正确姓名",onCorrect:"姓名有效"})
         .inputValidator({min:4,max:10,onErrorMin:"姓名长度太短",onError:"输入姓名有误"});
  //验证单选按钮 【注】多选按钮时,id不可相同 否则表单验证的过程中会执行两次并且第二次会报错 因为有多个标签 故需要制定tipID来显示提示信息 
  //利用defaultValue确定默认的选项
  $(":radio[name='sex']").formValidator({tipID:"sexTip",onShow:"请选择性别",onFocus:"别选择错了哦",onCorrect:"bingo,性别对了",defaultValue:['女']})
       .inputValidator({min:1,max:1,onError:"性别忘记选了,请确认"});
  //验证出生日期 使用inputValidator进行输入框内容验证 使用functionValidator进行正则验证
  $("#birthday").formValidator({onShow:"请输入你的出生日期",onFocus:"出生日期不能全为0",onCorrect:"日期选择有效"})
         .inputValidator({type:"string",min:"2000-01-01",onErrorMin:"日期不能早期2000-01-01"})
         .functionValidator({fun:isDate});
  //验证身份证号 使用正则验证是否是身份证号码
  $("#idcard").formValidator({onShow:"请输入身份证号",onFocus:"输入15或18位的身份证",onCorrect:"身份证有效"})
        .functionValidator({fun:isCardID});
  //验证邮箱
  $("#email").formValidator({onShow:"请输入邮箱",onFocus:"邮箱6-100个字符,输入正确了才能离开焦点",onCorrect:"恭喜你,你输对了",defaultValue:"@"})
        //.inputValidator({min:6,max:100,onError:"你输入的邮箱长度非法,请确认"})
        .regexValidator({regExp:"^([\\w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([\\w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$",onError:"你输入的邮箱格式不正确"});
  //验证学历信息 【注】即是验证下拉列表框
  $("#degree").formValidator({onShow:"请选择你的学历",onFocus:"学历必须选择",onCorrect:"谢谢你的配合",defaultValue:"b"})
        .inputValidator({min:1,onError: "你是不是忘记选择学历了!"})
        .defaultPassed();
  //验证国家区号
  $("#Tel_country").formValidator({tipID:"telTip",onShow:"请输入国家区号",onFocus:"国家区号2位数字",onCorrect:"恭喜你,你输对了",defaultValue:"86"})
        .regexValidator({regExp:"^\\d{2}$",onError:"国家区号不正确"});
  $("#Tel_area").formValidator({tipID:"telTip",onShow:"请输入地区区号",onFocus:"地区区号3位或4位数字",onCorrect:"恭喜你,你输对了"})
        .regexValidator({regExp:"^\\d{3,4}$",onError:"地区区号不正确"});
  $("#Tel_number").formValidator({tipID:"telTip",onShow:"请输入电话号码",onFocus:"电话号码7到8位数字",onCorrect:"恭喜你,你输对了"})
        .regexValidator({regExp:"^\\d{7,8}$",onError:"电话号码不正确"});
  $("#Tel_ext").formValidator({tipID:"telTip",onShow:"请输入分机号码",onFocus:"分机号码1到5位数字",onCorrect:"恭喜你,你输对了"})
        .regexValidator({regExp:"^\\d{1,5}$",onError:"分机号码不正确"});
  //验证多选框 【注】多选框的使用情况
  $(":checkbox[name='xqah_one']").formValidator({tipID:"test3Tip",onShow:"请选择你的兴趣爱好(至少选一个)",onFocus:"你至少选择1个",onCorrect:"恭喜你,你选对了"})
        .inputValidator({min:1,onError:"你选的个数不对"});
  //验证手机号码  【注】注意 functionValidator 和 regexValidator的区别 empty:true表示允许为空
  $("#shouji").formValidator({empty:true,onShow:"请输入你的手机号码,可以为空哦",onFocus:"你要是输入了,必须输入正确",onCorrect:"谢谢你的合作",onEmpty:"你真的不想留手机号码啊?"})
        .inputValidator({min:11,max:11,onError:"手机号码必须是11位的,请确认"})
        .regexValidator({regExp:"mobile",dataType:"enum",onError:"你输入的手机号码格式不正确"});;
  //验证多选框
  $("#selectmore").formValidator({onShow:"按住CTRL可以多选",onFocus:"按住CTRL可以多选,至少选择2个",onCorrect:"谢谢你的合作",defaultValue:["0","2"]})
        .inputValidator({min:2,onError:"至少选择2个"});
  //输入中文 仅支持中文并且要求在10个字以上
  $("#ms").formValidator({onShowText:"这家伙很懒,什么都没有留下。",onShow:"请输入你的描述",onFocus:"描述至少要输入10个汉字",onCorrect:"恭喜你,你输对了",defaultValue:"这家伙很懒,什么都没有留下。"})
        .inputValidator({min:20,onError:"你输入的描述长度不正确,请确认"})
        .regexValidator({regExp:"chinese",dataType:"enum",onError:"仅支持中文"});
  //验证密码 compareValidator 【注】 desID operateor 
  $("#password1").formValidator({onShow:"请输入密码",onFocus:"至少1个长度",onCorrect:"密码合法"})
        .inputValidator({min:1,empty:{leftEmpty:false,rightEmpty:false,emptyError:"密码两边不能有空符号"},onError:"密码不能为空,请确认"});
  $("#password2").formValidator({onShow:"输再次输入密码",onFocus:"至少1个长度",onCorrect:"密码一致"})
        .inputValidator({min:1,empty:{leftEmpty:false,rightEmpty:false,emptyError:"重复密码两边不能有空符号"},onError:"重复密码不能为空,请确认"})
        .compareValidator({desID:"password1",operateor:"=",onError:"2次密码不一致,请确认"});

});

</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
用dtree实现树形菜单 dtree使用说明
Oct 17 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
Apr 24 Javascript
JS定时刷新页面及跳转页面的方法
Jul 04 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
Jul 08 Javascript
控制台报错object is not a function的解决方法
Aug 24 Javascript
Backbone.js中的集合详解
Jan 14 Javascript
javascript实现日期按月份加减
May 15 Javascript
常用的JQuery函数及功能小结
Mar 24 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
layui导出所有数据的例子
Sep 10 Javascript
js实现文字头像的生成代码
Mar 07 Javascript
JavaScript展开运算符和剩余运算符的区别详解
Feb 18 Javascript
超链接怎么正确调用javascript函数
May 23 #Javascript
以WordPress为例讲解jQuery美化页面Title的方法
May 23 #Javascript
jQuery中选择器的基础使用教程
May 23 #Javascript
基于BootStrap的图片轮播效果展示实例代码
May 23 #Javascript
AngularJS上拉加载问题解决方法
May 23 #Javascript
在IE8上JS实现combobox支持拼音检索功能
May 23 #Javascript
浅析JavaScript 箭头函数 generator Date JSON
May 23 #Javascript
You might like
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
Python functools模块学习总结
2015/05/09 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
pytorch简介
2020/11/11 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
酒店人事专员岗位职责
2013/12/19 职场文书
现金出纳岗位职责
2014/03/15 职场文书
企业元宵节主持词
2014/03/25 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS