<!-- 账号登录块 -->
       <form class="form1" action="" method="get" onsubmit="return sub();">
        <label></label>
        <input class="user-name user" type="text" placeholder="邮箱/手机号码/小米ID">
        <input class="user-name mima" type="password" name="" id="" value="" placeholder="密码">
        <div class="clear"></div>
        <p class="alert at1">
         <span>!</span>
         账号格式不正确
        </p>
        <p class="alert at2">
         <span>!</span>
         密码格式不正确
        </p>
        <input class="loading" type="submit" id="" name="" value="登录" />
       </form>
       <!-- 手机短信登录注册快 -->
       <form class="form2" action="" method="get">
        <label class="lb1">+86</label>
        <input class="user-name phone" type="text" placeholder="手机号码">
        <input class="user-name yzm" type="password" name="" id="" value="" placeholder="短信验证码"><label class="lb2">获取验证码</label>
        <div class="clear"></div>
        <p class="alert at3">
         <span>!</span>
         手机号格式不正确
        </p>
        <p class="alert at4">
         <span>!</span>
         短信验证码不正确
        </p>
        <input class="loading" type="submit" id="" name="" value="立即登录/注册" />
       </form>

// 用户名验证
   $(".user").focus(function(){
      $(".user").css("background-color","#FFFFCC");
    });
   $(".alert").hide();
   
    $(".user").blur(function(){
   var n = $(".user").eq(0).val();
   
   if(!isMobil(n)){
    if(!isMail(n))
    {
     if (!isTrueName(n)) {
      $(".at1").show();
      $(".user").eq(0).css("border-color","red");
     } else{
      $(".alert").hide();
      $(".user").eq(0).css("border-color"," #ABADB3");
     }
    }else{
     $(".alert").hide();
     $(".user").eq(0).css("border-color"," #ABADB3");
    }
   }else{
     $(".alert").hide();
     $(".user").eq(0).css("border-color"," #ABADB3");
    }
    });
  
  // 密码验证
  $(".mima").focus(function(){
     $(".mima").css("background-color","#FFFFCC");
   });
     $(".alert").hide();
     
   $(".mima").blur(function(){
     var m = $(".mima").eq(0).val();
     if(!isPasswd(m)){
      $(".at2").show();
      $(".mima").eq(0).css("border-color","red");
     }else{
      $(".alert").hide();
      $(".mima").eq(0).css("border-color"," #ABADB3");
     }
      
   });
   //手机格式验证
  $(".phone").focus(function(){
     $(".phone").css("background-color","#FFFFCC");
   });
     $(".alert").hide();
     
   $(".phone").blur(function(){
     var p = $(".phone").eq(0).val();
     if(!isMobil(p)){
        $(".at3").show();
        $(".phone").eq(0).css("border-color","red");
     }else{
       $(".alert").hide();
       $(".phone").eq(0).css("border-color"," #ABADB3");
      }
   });
  //验证码
  $(".yzm").focus(function(){
     $(".yzm").css("background-color","#FFFFCC");
   });
     $(".alert").hide();
     
   $(".yzm").blur(function(){
     var y = $(".yzm").eq(0).val();
     if(!isyzm(y)){
        $(".at4").show();
        $(".yzm").eq(0).css("border-color","red");
     }else{
       $(".alert").hide();
       $(".yzm").eq(0).css("border-color"," #ABADB3");
      }
   });
  });
 
 验证函数
 /* 校验手机号 */
 function isMobil(s)
 {
 var patrn=/^1(3|4|5|7|8)\d{9}$/;
 if (!patrn.exec(s)) {return false}
 else{return true}
 }
 /*邮箱验证*/
 function isMail(s)
 {
 var patrn=/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/;
 if (!patrn.exec(s)) {return false}
 else{return true}
 }
 
 /* 校验用户名 */
 function isTrueName(s)
 {
 var patrn=/^[a-zA-Z]{4,8}$/;
 if (!patrn.exec(s)) {return false}
 else{return true}
 }
 
 //校验密码:只能输入6-20个字母、数字、下划线
 function isPasswd(s)
 {
 var patrn=/^(\w){6,20}$/;
 if (!patrn.exec(s)) {return false}
 else{return true}
 }
 
 /* 校验手机号 */
 function isyzm(s)
 {
 var patrn=/^\d{5}$/;
 if (!patrn.exec(s)) {return false}
 else{return true}
 }

表单 用jquery做输入脱离焦点 进行正则验证的更多相关文章

  1. 在表单提交之前做校验-利用jQuery的submit方法

    点击表单中的提交按钮,默认就会提交表单,如果要在表单提交之前做一些校验,那么就可以用jQuery的submit方法. 也就是jQuery的submit的方法执行顺序,在表单的提交之前.用法如下: $( ...

  2. Web开发——HTML基础(HTML表单/下拉列表/多行输入)

    参考: 参考:http://www.w3school.com.cn/html/html_forms.asp 目录: 1.<form> 元素 1.1 <input> 元素(输入属 ...

  3. 15 款优化表单的 jQuery 插件

    网页上的表单提供给用户的一种交互的方式,用户输入数据,提交到服务器,等待后续的处理.这些表单在我们浏览的网页中随处可见,也容易被我们忽略. 比如,“联系我们”页面会提供一个表单给用户填写他们的信息和想 ...

  4. Form表单利用Jquery Validate验证以及ajax提交

    #表单利用Jquery验证验证以及ajax提交 概述>详细讲解表单利用Jquery >验证验证以及ajax提交的过程,以及Validate的自定义提示语,非空判断,输入字段的远程ajax验 ...

  5. Jquery easyui 重置按钮,easyui 清空表单,Jquery easyui 重置表单

    Jquery easyui 重置按钮,easyui 清空表单,Jquery easyui 重置表单 >>>>>>>>>>>>&g ...

  6. ios手机弹出层上表单的操作,收起键盘焦点错乱的问题

    今天遇到了ios手机下 弹出层上form表单 当收起键盘后,焦点错乱,无法再操作的问题 解决办法 function device() { const u = navigator.userAgent; ...

  7. 让input表单输入框不记录输入过信息的方法

    有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往input文本输入框会记录下之前提交表单的信息,以后每次只要双击input文本输入框就会出现之前输入的文本,这样有时会觉得比较方 ...

  8. spring mvc表单的展现、输入处理、校验的实现

    之前已经实现了spring mvc的入门例子及如何处理带参数的请求Controller编写.本文主要记录: 1)重定向请求 2)处理路径中含有变量的请求 3)使用JSR-303进行校验 ① 首先,编写 ...

  9. Jquery validate验证表单时多个name相同的元素只验证第一个的问题

    下面搜集了五种方法,主要还是前两个提供了解决方案,第三种需要修改jQuery源码: 修复jquery.validate插件中name属性相同(如name='a[]')时验证的bug 使用jquery. ...

随机推荐

  1. hud 3183

    题意:给出n个数字的字符串,要求你删除m个数字后,得到的数字最小. 分析:删除m个,就是选n-m个,而且,选的第一个数,肯定在(0—(n-m-1))中,第二个就在(第一个的下一位—(n-m-2)中.就 ...

  2. vue on emit 父子之间传值应用详细代码

    大概很多人都知道用这个,网上教程也一大堆,但我想说的是一定要手动敲一遍,敲一遍,敲一遍,重要的事情说三遍. 大概有些人也不知道它该何时用on,或者emit 的吧? 先说两个我项目中用到的场景吧: 项目 ...

  3. Javascript原型对象中的toString

    <script> //tostring function Person(name,age,gender){ this.name=name; this.age=age; this.gende ...

  4. 2019-9-18-WPF-客户端开发需要知道的触摸失效问题

    title author date CreateTime categories WPF 客户端开发需要知道的触摸失效问题 lindexi 2019-09-18 15:30:38 +0800 2019- ...

  5. PS安装失败解决方法

    清除Adobe软件卸载残余文件 ,使用下面的工具,可以清除残余文件,然后再次安装 链接: https://pan.baidu.com/s/1OfIDnjpmqw34dWQ8LH6fIQ 提取码: b7 ...

  6. "\r\n"与"</br>"的区别

    \n是换行,英文是New line,表示使光标到行首 \r是回车,英文是Carriage return,表示使光标下移一格 \r\n表示回车换行 \\  反斜杠 \$  美圆符 \"  双引 ...

  7. PHP ftp_site() 函数

    定义和用法 The ftp_site() 函数向 FTP 服务器发送 SITE 命令. SITE 命令没有标准化,在不同的服务器上不尽相同.对于处理文件权限或组关系方面的事情,SITE 命令很有用. ...

  8. 图片转换为base64

    明天中秋了,先祝大家中秋快乐!哈哈,最近见有人在群里问怎么把图片转换成base64格式,之前刚好写过就把代码贴出来. 主要用到canvas中的toDataURL方法 <!DOCTYPE html ...

  9. CF601C Kleofáš and the n-thlon(期望+前缀和优化dp)

    传送门 解题思路 要求这个人的排名,我们可以先求出某个人比他排名靠前的概率,然后再乘上\(m-1\)即为答案.求某个人比他排名靠前可以用\(dp\),设\(f[i][j]\)表示前\(i\)场比赛某人 ...

  10. csp-s模拟测试94

    csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...