基于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 相关文章推荐
JS去除字符串的空格增强版(可以去除中间的空格)
Aug 26 Javascript
js中Image对象以及对其预加载处理示例
Nov 20 Javascript
jQuery事件绑定和委托实例
Nov 25 Javascript
JavaScript实现查找字符串中第一个不重复的字符
Dec 29 Javascript
js判断浏览器版本以及浏览器内核的方法
Jan 20 Javascript
浅析jquery数组删除指定元素的方法:grep()
May 19 Javascript
加载 vue 远程代码的组件实例详解
Nov 20 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
vue-router源码之history类的浅析
May 21 Javascript
seajs和requirejs模块化简单案例分析
Aug 26 Javascript
微信小程序8种数据通信的方式小结
Feb 03 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
Oct 29 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 echo 输出字符串函数详解
2010/05/13 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
js 函数调用模式小结
2011/12/26 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python中的tcp示例详解
2018/12/09 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
animation和transition的区别
2020/10/12 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
如何处理简单的PHP错误
2015/10/14 面试题
简单说下OSPF的操作过程
2014/08/13 面试题
计算机专业自荐信
2013/10/14 职场文书
孝老爱亲模范事迹
2014/01/24 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
银行求职自荐书
2014/06/25 职场文书
会计求职信怎么写
2015/03/20 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript