zoukankan      html  css  js  c++  java
  • 表单验证

    node2:/var/www/html/aa#cat a27.html 
    <form method="post" action="">
     <div class="int">
     <label for="username">用户名:</label>
     <input type="text" id="username" class="required"/>
      </div>
     <div class="int">
       <label for="email">邮箱:</label>
       <input type="text" id="email" class="required"/>
     </div>
      <div class="int">
         <label for="personinfo">个人资料:</label>
         <input type="text" id="personinfo"/>
      </div>
      <div class="sub">
        <input type="submit" value="提交" id="send"/><input type="reset" id="res"/>
      </div>
    </form>
    
    
    node2:/var/www/html/aa#cat a27.js
    $("form :input.required").each(function(){
       var $required=$("<strong class='high'>*</strong>");
       $(this).parent().append($required);
    });
    
    当用户在"用户名"文本框中填写完信息后,将光标的焦点从"用户名"移出时,需要即时
    
    判断用户名是否符合验证规则。
    
    当光标的焦点从"邮箱"文本框移出时,需要即时判断"邮箱"填写是否正确,因此需要给表单元素添加失去焦点事件,
    
    即blur.
    
    
    验证表单元素步骤如下:
    
    
    1) 判断当前失去焦点的元素是"用户名"还是"邮箱",然后分别处理
    
    2) 如果是"用户名",判断元素的值的长度是否小于6,如果小于6,则用红色提醒用户输入不正确,
    
    反之,则用绿色提醒用户输入正确。
    
    3)如果是"邮箱",判断元素的值是否符合邮箱的格式,如果不符合,则用红色提醒用户输入不正确,
    
    
    反之,则用绿色提醒用户输入正确。
    
    4)将提醒的信息追加到当前元素的父元素的最后
    
    node2:/var/www/html/aa#cat a27.js
    $("form :input.required").each(function(){
       var $required=$("<strong class='high'>*</strong>");
       $(this).parent().append($required);
    });
    $('form :input').blur(function(){ //为表单元素添加失去焦点事件
        var $parent=$(this).parent();
        //验证用户名
        if ($(this).is('#username')){
           if(this.value==""||this.value.length<6){
              var errorMsg = '用户名为空||请输入至少6位的用户名.';
              $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
               }else{
                  var okMsg = '输入正确.';
                  $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
                  }
            }
            //验证邮箱
            if ($(this).is('#email')){
                 if(this.value==""||(this.value !="" && !/.+@.+.[a-zA-Z]{2,4}$/.test(this.value))){
                  var errorMsg = '请输入正确的E-Mail地址.';
                  $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
                  }else{
                     var okMsg='输入正确.';
                     $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
                     }
             }
    });
    
    由于每次在元素失去焦点后,都会创建一个新的提醒元素,然后将它追加到文档中,最后就出现了多次的提醒信息。
    
    因此,需要在创建提醒元素之前,将当前元素以前的提醒元素删除。可以使用remove()方法来实现,代码如下:

  • 相关阅读:
    字典列表元组的推导式使用方法
    算法之排序
    闭包与装饰器
    循环(打印一些小东西)
    iOS内存小知识
    NSset
    字典
    NSNumber
    NSString
    NSArray
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349294.html
Copyright © 2011-2022 走看看