用javaScript做两个练习

练习一:每一秒 让灯泡切换一次状态

先准备两张灯泡的图片:一张不发光的一张发光的图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!--         
             onclick属于JavaScript中的单击事件,        
             只要单击当前开灯的input按钮标签就会执行该事件,        
             调用该事件的JavaScript函数on()     
              -->    
                  <input type="button" value="开灯" onclick="on()" />    
                  <img src="img\off.gif" id="myImg"/>    
                  <input type="button" value="关灯" onclick="off()"/>    
                  
                  <script>        
                  function on(){            
                    let img=document.getElementById("myImg");            
                    img.src="img/on.gif";        
                }       
                 function off(){            
                    let img=document.getElementById("myImg");            
                    img.src="img/off.gif";
                }       
                 /*           
                 需求:每隔一秒,灯泡切换一次状态            
                 就是每隔一秒更改一次img标签的src属性值            
                 这里我们只需要每隔一秒调用上面的JavaScript中的on或者off函数即可        
                 */        
                let num=0;        
                setInterval(function(){           
                    if(num%2==0){                
                     on();           
                  }else{               
                  off();          
                  }         
                   num++;        
                   },1000);    
                   </script>
</body>
</html>

效果图:

登录表单验证:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form id="reg-form" action="#" method="get">        
        <table>            
            <tr>               
             <td>用户名</td>                
             <td>                    
                <input name="username" type="text" id="username" onblur="checkUsername()">                    
                <!--display: none 属于css语法,表示隐藏标签  -->                    
                <span id="username_err" class="err_msg" style="color: red; display: none">用户名不太受欢迎</span>                
            </td>            
        </tr>            
        <tr>                
        <td>密码</td> 
        <td>                    
            <input name="password" type="password" id="password" onblur="checkPassword()">                    
            <span id="password_err" class="err_msg" style="color: red; display: none">密码格式有误</span>                
        </td>            
    </tr>           
     <tr>               
         <td>手机号</td>                    
         <td class="inputs"><input name="tel" type="text" id="tel" onblur="checkTel()">                   
             <span id="tel_err" class="err_msg" style="color: red; display: none">手机号格式有误</span>                
            </td>            
        </tr>        
    </table>        
    <div>            
        <input value="注 册" type="submit" id="reg_btn">        
    </div>    
</form>        
<script>       
 //1. 验证 用户名是否符合规则:长度 6~12,单词字符组成       
  //2. 验证 密码是否符合规则:长度 6~12任意字符        
  //3. 验证 手机号是否符合规则:长度 11,数字组成,第一位是1        
  //4. 表单是否可以提交    
  </script>
  <script>    
  //1. 验证 用户名是否符合规则:长度 6~12,单词字符组成    
  function checkUsername(){        
    //1.1 获取用户名输入框输入的值        
    let usernameValue=document.getElementById("username").value;        
    //1.2 创建正则对象 new RegExp("\\w");         
    let reg=/^\w{6,12}$/;        
    //1.3判断输入的值是否满足正则  正则对象.test(被验证的字符串)        
    if(reg.test(usernameValue)){            
        //1.4被验证的字符串满足正则即合法            
        document.getElementById("username_err").style.display="none";            
        //提交表单            
        return true;        
    }else{            
        //1.5被验证的字符串满足不正则即非法,这里需要将标签显示           
         document.getElementById("username_err").style.display="block";            
         //阻止表单提交            
         return false;        
        }    
    }    
    //2. 验证 密码是否符合规则:长度 6~12任意字符    
    function checkPassword(){        
        //2.1 获取密码框的值
        let passwordValue = document.getElementById("password").value;       
         //2.2创建正则对象       
          let reg=/^.{6,12}$/;        
          //2.3判断密码框的值是否满足正则        
          if(reg.test(passwordValue)){            
            //2.4满足正则,隐藏span标签            
            document.getElementById("password_err").style.display="none";            
            //2.5可以提交表单            
            return true;       
         }else{            
            //2.6不满足正则,显示span标签            
            document.getElementById("password_err").style.display="block";            
            //2.7不可以提交表单            
            return false;        
        }    
    }    
    //3. 验证 手机号是否符合规则:长度 11,数字组成,第一位是1    
    function checkTel(){        
        //3.1 获取手机号输入框的值        
        let telValue = document.getElementById("tel").value;        
        //3.2创建正则对象 \d 表示[0-9]   \d{9} 这里表示从第三位开始正好出现9次数字        
        let reg=/^1[356789]\d{9}$/;        
        //3.3判断手机号的值是否满足正则        
        if(reg.test(telValue)){           
             //3.4满足正则,隐藏span标签            
             document.getElementById("tel_err").style.display="none"; let passwordValue = document.getElementById("password").value;        
             //2.2创建正则对象        
             let reg=/^.{6,12}$/;        
             //2.3判断密码框的值是否满足正则       
              if(reg.test(passwordValue)){            
                //2.4满足正则,隐藏span标签            
                document.getElementById("password_err").style.display="none";            
                //2.5可以提交表单           
                 return true;       
                 }else{            
                    //2.6不满足正则,显示span标签           
                     document.getElementById("password_err").style.display="block";           
                      //2.7不可以提交表单           
                       return false;       
                     }   
                     }    
                     //3. 验证 手机号是否符合规则:长度 11,数字组成,第一位是1 
                        function checkTel(){
                    //3.1 获取手机号输入框的值        
                    let telValue = document.getElementById("tel").value;        
                    //3.2创建正则对象 \d 表示[0-9]   \d{9} 这里表示从第三位开始正好出现9次数字        
                    let reg=/^1[356789]\d{9}$/;        
                    //3.3判断手机号的值是否满足正则        
                    if(reg.test(telValue)){            
                        //3.4满足正则,隐藏span标签            
                        document.getElementById("tel_err").style.display="none";
                        //3.5可以提交表单           
                        return true;        
                    }else{           
                         //3.6不满足正则,显示span标签            
                         document.getElementById("tel_err").style.display="block";            
                         //3.7不可以提交表单            
                         return false;        
                        }    
                    }    
                    //4. 表单是否可以提交    
                    //4.1给form标签绑定提交表单事件onsubmit   
                     document.getElementById("reg-form").onsubmit=function(){        
                        //4.2 三个输入框只要有一个非法就阻止表单提交,都合法才能提交表单       
                         return checkUsername() && checkPassword() && checkTel();   
                         }
                        }
</script>
</body>
</html>

效果图:

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值