基于Jquery实现表单验证


Posted in Javascript onJuly 20, 2020

有时在我们注册账户、登陆系统时,当所有验证通过方可提交 这就需要Jquery来实现表单验证,今天分享给小伙伴们一段基于Jquery实现表单验证的代码。

<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Reg</title>
  <style>
   .state1{
    color:#aaa;
   }
   .state2{
    color:#000;
   }
   .state3{
    color:red;
   }
   .state4{
    color:green;
   }
  </style>
  <script src="jquery.js"></script>
  <script>
   $(function(){
 
    var ok1=false;
    var ok2=false;
    var ok3=false;
    var ok4=false;
    // 验证用户名
    $('input[name="username"]').focus(function(){
     $(this).next().text('用户名应该为3-20位之间').removeClass('state1').addClass('state2');
    }).blur(function(){
     if($(this).val().length >= 3 && $(this).val().length <=12 && $(this).val()!=''){
      $(this).next().text('输入成功').removeClass('state1').addClass('state4');
      ok1=true;
     }else{
      $(this).next().text('用户名应该为3-20位之间').removeClass('state1').addClass('state3');
     }
      
    });
 
    //验证密码
    $('input[name="password"]').focus(function(){
     $(this).next().text('密码应该为6-20位之间').removeClass('state1').addClass('state2');
    }).blur(function(){
     if($(this).val().length >= 6 && $(this).val().length <=20 && $(this).val()!=''){
      $(this).next().text('输入成功').removeClass('state1').addClass('state4');
      ok2=true;
     }else{
      $(this).next().text('密码应该为6-20位之间').removeClass('state1').addClass('state3');
     }
      
    });
 
    //验证确认密码
     $('input[name="repass"]').focus(function(){
     $(this).next().text('输入的确认密码要和上面的密码一致,规则也要相同').removeClass('state1').addClass('state2');
    }).blur(function(){
     if($(this).val().length >= 6 && $(this).val().length <=20 && $(this).val()!='' && $(this).val() == $('input[name="password"]').val()){
      $(this).next().text('输入成功').removeClass('state1').addClass('state4');
      ok3=true;
     }else{
      $(this).next().text('输入的确认密码要和上面的密码一致,规则也要相同').removeClass('state1').addClass('state3');
     }
      
    });
 
    //验证邮箱
    $('input[name="email"]').focus(function(){
     $(this).next().text('请输入正确的EMAIL格式').removeClass('state1').addClass('state2');
    }).blur(function(){
     if($(this).val().search(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/)==-1){
      $(this).next().text('请输入正确的EMAIL格式').removeClass('state1').addClass('state3');
     }else{     
      $(this).next().text('输入成功').removeClass('state1').addClass('state4');
      ok4=true;
     }
      
    });
 
    //提交按钮,所有验证通过方可提交
 
    $('.submit').click(function(){
     if(ok1 && ok2 && ok3 && ok4){
      $('form').submit();
     }else{
      return false;
     }
    });
     
   });
  </script>
 </head>
<body>
 
<form action='do.php' method='post' >
 用 户 名:<input type="text" name="username">
    <span class='state1'>请输入用户名</span><br/><br/>
 密码:<input type="password" name="password">
    <span class='state1'>请输入密码</span><br/><br/>
 确认密码:<input type="password" name="repass">
    <span class='state1'>请输入确认密码</span><br/><br/>
 邮
箱:<input type="text" name="email">
    <span class='state1'>请输入邮箱</span><br/><br/> 
 <a href="javascript:;"><img class='submit' type='image' src='./images/reg.gif' /></a>
</form>
</body>
</html>

以上就是本文的全部内容,希望大家可以喜欢。

Javascript 相关文章推荐
extjs 为某个事件设置拦截器
Jan 15 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
Mar 07 Javascript
用js来刷新当前页面保留参数的具体实现
Dec 23 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
Jan 19 Javascript
浅谈javascript事件取消和阻止冒泡
May 26 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
求js数组的最大值和最小值的四种方法
Mar 03 Javascript
用Node提供静态文件服务的方法
Jul 06 Javascript
JavaScript中set与get方法用法示例
Aug 15 Javascript
浅谈redux以及react-redux简单实现
Aug 28 Javascript
webpack项目使用eslint建立代码规范实现
May 16 Javascript
三步搞定:Vue.js调用Android原生操作
Sep 07 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
Aug 04 #Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 #Javascript
javascript控制图片播放的实现代码
Jul 29 #Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 #Javascript
Javascript实现鼠标右键特色菜单
Aug 04 #Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 #Javascript
常用的Javascript数据验证插件
Aug 04 #Javascript
You might like
PHP导入导出Excel代码
2015/07/07 PHP
CodeIgniter配置之routes.php用法实例分析
2016/01/19 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
python几种常用功能实现代码实例
2019/12/25 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
《月迹》教学反思
2014/02/19 职场文书
大学军训感言400字
2014/03/11 职场文书
业务内勤岗位职责
2014/04/30 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
教育教学读书笔记
2015/07/02 职场文书
《三国志》赏析
2019/08/27 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
三年级作文之小小梦想
2019/12/06 职场文书