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 相关文章推荐
javascript测试题练习代码
Oct 10 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
Nov 17 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
Mar 02 Javascript
结合Vue控制字符和字节的显示个数的示例
May 17 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
详解vue为什么要求组件模板只能有一个根元素
Jul 22 Javascript
Layui 解决表格异步调用后台分页的问题
Oct 26 Javascript
详解javascript中var与ES6规范中let、const区别与用法
Jan 11 Javascript
uni-app 自定义底部导航栏的实现
Dec 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
输出控制类
2006/10/09 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
javascript常用的方法整理
2015/08/20 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
js实现跳一跳小游戏
2020/07/31 Javascript
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
代码实例讲解python3的编码问题
2019/07/08 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
会计专业个人求职信范文
2014/01/08 职场文书
30年同学聚会邀请函
2014/01/25 职场文书
工程材料采购方案
2014/05/18 职场文书
2014年度培训工作总结
2014/11/27 职场文书
营销计划书
2015/01/17 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers