js學習筆記:用戶註冊

用戶註冊:結構層:html;表現層:css;行爲層:javascript;
html利用ul,li來構造:
    注意事項:一、每一個Input都要有相應的id,這是在js中去調用的。
                  二、<a href="javascript:void(0)"></a>,添加javascript:void(0)是爲了阻止連接的跳轉。javascript

  1. <body>
  2.      <div id="reg">
  3.        <form>
  4.         <div class="reg_title"><h1>用戶註冊</h1></div>
  5.          <ul class="reg_con">
  6.            <li>
  7.               <ul class="def">
  8.                 <li><span>用戶賬號:</span><input type="text" id="uname"/></li>
  9.                 <li><p><i></i>給本身起個名字吧,它將成爲您登陸本站的用戶名</p></li>
  10.               </ul>
  11.            </li>
  12.            <li>
  13.               <ul class="def">
  14.                 <li><span>電子郵箱:</span><input type="text" id="email"/></li>
  15.                 <li><p><i></i>請輸入您的經常使用郵箱地址,此郵箱地址將做爲修改密碼</p></li>
  16.               </ul>
  17.            </li>
  18.            <li>
  19.               <ul class="def">
  20.                 <li><span>手機號碼:</span><input type="text" id="mobile"/></li>
  21.                 <li><p><i></i>請輸入您的手機號碼,方便咱們之間的聯繫</p></li>
  22.               </ul>
  23.            </li>
  24.            <li>
  25.               <ul class="def">
  26.                 <li><span>安全密碼:</span><input id="pwd" type="password"/></li>
  27.                 <li><p><i></i>請輸入安全密碼,它將做爲您的登陸密碼</p></li>
  28.               </ul>
  29.            </li>
  30.            <li>
  31.               <ul class="def ">
  32.                 <li><span>確認密碼:</span><input type="password" id="qrpwd"/></li>
  33.                 <li><p><i></i>請將上面的密碼再輸入一次</p></li>
  34.               </ul>
  35.            </li>
  36.            <li>
  37.               <ul>
  38.                 <li><span></span></li>
  39.                 <li id="reg_sub"><a href="javascript:void(0)" id="enter">當即註冊</a></li>
  40.               </ul>
  41.            </li>
  42.          </ul>
  43.        </form>
  44.      </div>
  45.   </body>
複製代碼

表現層:css
   注意事項:一、頁面開始通常都寫上重置代碼。
                 二、針對用戶名、輸入框、提示圖標要寫一組自己的樣式、一組def默認的樣式、一組point得到焦點的樣式、一組error錯誤樣式、一組ok輸入正確的樣式。css

  1. /*reset重置代碼開始*/

行爲層:js
js編寫的主體思路:一、中心點:每個input框,也就是獲取的inp=document.getElementsByTagName("input");
                         二、針對input輸入框會有點擊即得到焦點的狀態,和失去焦點的狀態。
                         三、當得到焦點的時候,會給用戶名、輸入框、提示圖標(改變背景圖片的位置)變成藍色,即添加point樣式。
                         四、當input輸入框失去焦點時,會給用戶名、輸入框、提示圖標變成紅色,即添加error樣式。
                         五、當input輸入框內容正確後,會給用戶名、輸入框變成。html

  1.         /*閉包*/
  2.         (
  3.                 function(){
  4.                          var $=function(_id){
  5.                                  return document.getElementById(_id);
  6.                                  }
  7.                         var inpStyle=function(){
  8.                                 var inp=document.getElementsByTagName("input");//得到id爲inpList 中的全部的input
  9.                                 for(i=0;i<inp.length;i++){
  10.                                         inp[i].onfocus=function(){
  11.                                                 var par=this.parentNode.parentNode;
  12.                                                 var msg=par.getElementsByTagName("p")[0];
  13.                                                 par.className="point";
  14.                                                 check.focus[this.id](par,this,msg);
  15.                                                 }
  16.                                         inp[i].onblur=function(){
  17.                                                 var par=this.parentNode.parentNode;
  18.                                                 var msg=par.getElementsByTagName("p")[0];
  19.                                                 par.className="def";
  20.                                                 check.blurs[this.id](par,this,msg);
  21.                                                 }
  22.                                         }
  23.                                     $("enter").onclick=function(){
  24.                                                 subback(inp);
  25.                                                 }
  26.                                 }
  27.                                 var check={
  28.                                         focus:{
  29.                                                 uname:function(_ul,_this,_p){
  30.                                                         _ul.className="point";
  31.                                                         _p.innerHTML="<i></i>給本身起個名字吧,它將成爲您登陸本站的用戶名";
  32.                                                         },
  33.                                                         email:function(_ul,_this,_p){
  34.                                                         _ul.className="point";
  35.                                                         _p.innerHTML="<i></i>請輸入您的經常使用郵箱地址,此郵箱地址將做爲修改密碼";
  36.                                                         },
  37.                                                         mobile:function(_ul,_this,_p){
  38.                                                         _ul.className="point";
  39.                                                         _p.innerHTML="<i></i>請輸入您的手機號碼,方便咱們之間的聯繫";
  40.                                                         },
  41.                                                         pwd:function(_ul,_this,_p){
  42.                                                         _ul.className="point";
  43.                                                         _p.innerHTML="<i></i>請輸入安全密碼,它將做爲您的登陸密碼";
  44.                                                         },
  45.                                                         qrpwd:function(_ul,_this,_p){
  46.                                                         _ul.className="point";
  47.                                                         _p.innerHTML="<i></i>請將上面的密碼再輸入一次";
  48.                                                         }
  49.                                                 },
  50.                                         blurs:{
  51.                                                 uname:function(_ul,_this,_p){//ul標籤、當前輸入框、錯誤的信息
  52.                                                  _ul.className="error";        
  53.                                                  var flag=false;
  54.                                                     if(_this.value==""){        
  55.                                                                                                           
  56.                                                                 _p.innerHTML="<i></i>用戶名不能爲空!";
  57.                                                         }else if(_this.value.length<3 || _this.value.length>16){                                                                        
  58.                                                                         _p.innerHTML="<i></i>用戶名長度應控制在3-16位字符之間!";
  59.                                                         }else if(!/^[\w_-\u4e00-\u9fa5]+$/.test(_this.value)){                                                                                
  60.                                                                                 _p.innerHTML = "<i></i>用戶名只能由大小寫字母,數字,下劃線,中橫線和中文組成!";
  61.                                                         }else{
  62.                                                                                         _ul.className="ok";
  63.                                                                                         _p.innerHTML="<i></i>";
  64.                                                                                         flag=true;
  65.                                                                                         
  66.                                                         }
  67.                                                         
  68.                                                         return flag;
  69.                                                         },
  70.                                                 email:function(_ul,_this,_p){
  71.                                                          _ul.className="error";
  72.                                                           var flag=false;
  73.                                                       if(_this.value==""){
  74.                                                                  
  75.                                                                   _p.innerHTML="<i></i>郵箱不能爲空!";
  76.                                                                   }else if(!/\w+((-w+)|(\.\w+))*\@[\w]+((\.|-)[\w]+)*\.[\w]+/.test(_this.value)){                                                                        
  77.                                                                           _p.innerHTML="<i></i>請輸入正確的郵箱地址!";
  78.                                                                           }
  79.                                                                           else{
  80.                                                                                   _ul.className="ok";
  81.                                                                                   _p.innerHTML="<i></i>";
  82.                                                                                   flag=true;
  83.                                                                                   }
  84.                                                                                   return flag=false;
  85.                                                         }
  86.                                                 ,
  87.                                                 mobile:function(_ul,_this,_p){
  88.                                                        _ul.className="error";
  89.                                                            var flag=false;
  90.                                                       if(_this.value==""){
  91.                                                                  
  92.                                                                   _p.innerHTML="<i></i>電話號碼不能爲空!";
  93.                                                                   }else if(!/0?(13|14|15|18)[0-9]{9}/.test(_this.value)){                                                                        
  94.                                                                           _p.innerHTML="<i></i>請輸入正確的電話號碼!";
  95.                                                                           }
  96.                                                                           else{
  97.                                                                                   _ul.className="ok";
  98.                                                                                         _p.innerHTML="<i></i>";
  99.                                                                                         flag=true;
  100.                                                                                   }
  101.                                                                                   return flag;
  102.                                                         }
  103.                                                         ,
  104.                                                 pwd:function(_ul,_this,_p){
  105.                                                        _ul.className="error";
  106.                                                            var flag=false;
  107.                                                       if(_this.value==""){
  108.                                                                  
  109.                                                                   _p.innerHTML="<i></i>密碼不能爲空!";
  110.                                                                   }else if(_this.value.length<6 || _this.value.length>16){
  111.                                                                           
  112.                                                                           _p.innerHTML="<i></i>密碼應該在6-16位之間!";
  113.                                                                           }else if(!/^[\w_-]+$/.test(_this.value)){                                                                        
  114.                                                                           _p.innerHTML="<i></i>密碼只能由大小字母、數字、下劃線組成!";
  115.                                                                           }
  116.                                                                           else{
  117.                                                                                   _ul.className="ok";
  118.                                                                                         _p.innerHTML="<i></i>";
  119.                                                                                         flag=true;
  120.                                                                                   }
  121.                                                                                   return flag;
  122.                                                         }
  123.                                                         ,
  124.                                                 qrpwd:function(_ul,_this,_p){
  125.                                                         _ul.className="error";
  126.                                                                 var flag=false;
  127.                                                       if(_this.value==""){
  128.                                                                   _p.innerHTML="<i></i>爲了保證您輸入的密碼準確無誤,請再次輸入密碼!!";
  129.                                                                   
  130.                                                                   }else if(_this.value!=$("pwd").value){
  131.                                                                           
  132.                                                                           _p.innerHTML="<i></i>密碼兩次輸入不一致,請從新輸入!";
  133.                                                                           }
  134.                                                                           else{
  135.                                                                                   _ul.className="ok";
  136.                                                                                         _p.innerHTML="<i></i>";
  137.                                                                                         flag=true;
  138.                                                                                   }
  139.                                                                                   return flag;
  140.                                                         }
  141.                                                 }
  142.                                         }
  143.                                         var subback=function(inps){
  144.                                                 for(var i=0;i<inps.length;i++){
  145.                                                         //inps[i].focus();
  146.                                                         
  147.                                                         var flag=true;
  148.                                                         var par=inps[i].parentNode.parentNode;
  149.                                                         var msg=par.getElementsByTagName("p")[0];
  150.                                                         
  151.                                                         
  152.                                                         if(!check.blurs[inps[i].id](par,inps[i],msg)){
  153.                                                                 flag=false;
  154.                                                                 break;
  155.                                                                 }
  156.                                                         }
  157.                                                         if(flag){
  158.                                                                         alert("可提交");
  159.                                                                         }<span style="background-color: rgb(255, 255, 255); line-height: 1.5;">    else{</span>
相關文章
相關標籤/搜索