Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 226|回复: 0

[默认分类] jQuery之简单的表单验证

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-11 13:34:07 | 显示全部楼层 |阅读模式
    HTML部分:

    1. <body>
    2. <form method="post" action="">
    3.     <div class="int">
    4.         <label for="username">用户名:</label>
    5.         <!-- 为每个需要的元素添加required -->
    6.         <input type="text" id="username" class="required" />
    7.     </div>
    8.     <div class="int">
    9.         <label for="email">邮箱:</label>
    10.         <input type="text" id="email" class="required" />
    11.     </div>
    12.     <div class="int">
    13.         <label for="personinfo">个人资料:</label>
    14.         <input type="text" id="personinfo" />
    15.     </div>
    16.     <div class="sub">
    17.         <input type="submit" value="提交" id="send"/><input type="reset" id="res"/>
    18.     </div>
    19. </form>
    20. </body>
    复制代码

    jQuery部分:

    1. <script type="text/javascript">
    2. //<![CDATA[
    3. $(function(){
    4.         /*
    5.         *思路大概是先为每一个required添加必填的标记,用each()方法来实现。
    6.         *在each()方法中先是创建一个元素。然后通过append()方法将创建的元素加入到父元素后面。
    7.         *这里面的this用的很精髓,每一次的this都对应着相应的input元素,然后获取相应的父元素。
    8.         *然后为input元素添加失去焦点事件。然后进行用户名、邮件的验证。
    9.         *这里用了一个判断is(),如果是用户名,做相应的处理,如果是邮件做相应的验证。
    10.         *在jQuery框架中,也可以适当的穿插一写原汁原味的javascript代码。比如验证用户名中就有this.value,和this.value.length。对内容进行判断。
    11.         *然后进行的是邮件的验证,貌似用到了正则表达式。
    12.         *然后为input元素添加keyup事件与focus事件。就是在keyup时也要做一下验证,调用blur事件就行了。用triggerHandler()触发器,触发相应的事件。
    13.         *最后提交表单时做统一验证
    14.         *做好整体与细节的处理
    15.         */
    16.         //如果是必填的,则加红星标识.
    17.         $("form :input.required").each(function(){
    18.             var $required = $("<strong class="high"> *</strong>"); //创建元素
    19.             $(this).parent().append($required); //然后将它追加到文档中
    20.         });
    21.          //文本框失去焦点后
    22.         $("form :input").blur(function(){
    23.              var $parent = $(this).parent();
    24.              $parent.find(".formtips").remove();
    25.              //验证用户名
    26.              if( $(this).is("#username") ){
    27.                     if( this.value=="" || this.value.length < 6 ){
    28.                         var errorMsg = "请输入至少6位的用户名.";
    29.                         $parent.append("<span class="formtips onError">"+errorMsg+"</span>");
    30.                     }else{
    31.                         var okMsg = "输入正确.";
    32.                         $parent.append("<span class="formtips onSuccess">"+okMsg+"</span>");
    33.                     }
    34.              }
    35.              //验证邮件
    36.              if( $(this).is("#email") ){
    37.                 if( this.value=="" || ( this.value!="" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value) ) ){
    38.                       var errorMsg = "请输入正确的E-Mail地址.";
    39.                       $parent.append("<span class="formtips onError">"+errorMsg+"</span>");
    40.                 }else{
    41.                       var okMsg = "输入正确.";
    42.                       $parent.append("<span class="formtips onSuccess">"+okMsg+"</span>");
    43.                 }
    44.              }
    45.         }).keyup(function(){
    46.            $(this).triggerHandler("blur");
    47.         }).focus(function(){
    48.              $(this).triggerHandler("blur");
    49.         });//end blur
    50.         
    51.         //提交,最终验证。
    52.          $("#send").click(function(){
    53.                 $("form :input.required").trigger("blur");
    54.                 var numError = $("form .onError").length;
    55.                 if(numError){
    56.                     return false;
    57.                 }
    58.                 alert("注册成功,密码已发到你的邮箱,请查收.");
    59.          });
    60.         //重置
    61.          $("#res").click(function(){
    62.                 $(".formtips").remove();
    63.          });
    64. })
    65. //]]>
    66. </script>
    复制代码
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-25 15:37 , Processed in 0.385124 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表