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 相关文章推荐
用Javscript实现表单复选框的全选功能
May 25 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
Aug 05 Javascript
jQuery解决input超多的表单提交
Aug 10 Javascript
JS简单编号生成器实现方法(附demo源码下载)
Apr 05 Javascript
数组Array的排序sort方法
Feb 17 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
Dec 18 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 Javascript
浅谈Vue.use的使用
Aug 29 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
Sep 10 Javascript
jsonp实现百度下拉框功能的方法分析
May 10 Javascript
jsonp格式前端发送和后台接受写法的代码详解
Nov 07 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
Jul 11 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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
浅析node.js的模块加载机制
2018/05/25 Javascript
vue如何截取字符串
2019/05/06 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
python Zmail模块简介与使用示例
2020/12/19 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
开门红主持词
2014/04/02 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
《静夜思》教学反思
2016/02/17 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫