JS学习笔记二 DOM,正则表达式简单例子介绍

一、正则表达式

例子:
var patt = /w3school/i;
例子解释:
/w3school/i 是一个正则表达式。
w3school 是模式(pattern)(在搜索中使用)。
i 是修饰符(把搜索修改为大小写不敏感)。

二、DOM

HTML DOM Document 对象:
文档对象代表您的网页。
访问 HTML 页面中的任何元素,那么您总是从访问 document 对象开始。

 三、例子

  1. 练习一:页面加载完成后,将奇数列的li背景色设置为红色,偶数列li背景色设置为绿色
  2. 练习二:使用正则表达式,让页面中这段字符串我爱你哈哈爱你中的字全变为红色
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <!-- <script src="../js/PassFourteen.js"></script> -->
        <!-- <link rel="stylesheet" href="../css/PassFourteen.css"> -->
    </head>
    </head>
    <body>
        <div>
            <ul id="c1">
                <li class="l1">一 </li>
                <li class="l1">二</li>
                <li class="l1">三</li>
                <li class="l1">四</li>
                <li class="l1">五</li>
            </ul>
            
        </div>
        <button onclick="b1()" type="button" >练习一加载页面</button>
        <div>
           <p id="p1">我爱你哈哈爱你</p> 
           <button onclick="b2()" type="button" >练习二正则表达式</button>
        </div>
        <script>
        function b1(){
             
           
            var li=document.getElementsByClassName("l1")
            
            for(var i=0;i<li.length;i++)
            {
                if(i%2==1)//奇数        
                  {
                    li[i].style.backgroundColor="red"
                }
                else{
                    li[i].style.backgroundColor="green"
                }
            }
          
            
            }
            function b2(){
                var p1=document.getElementById("p1")
                var str=p1.innerHTML
                var res = new RegExp("爱",'g');
                text=str.replace(res,"<span style='color:red'>"+"爱"+"</span>")
                document.write(text)
                
            }
        </script>
    </body>
    </html>
    结果图:

     

  3. 使用JS完成简易计算器
    要求:输入的值只能是数字,使用正则表达式
    <body>
        <div>
            <form action="">
                <input type="text" name="number1" id="number1"  onchange="check1()">
                <select name="char" id="char">
                    <option value="jia">+</option>
                    <option value="jian">-</option>
                    <option value="cheng" selected>×</option>
                    <option value="chu">÷</option>
                </select>
                <input type="text" name="number2" id="number2"  onblur="check2()">
                <span><b>=</b></span>
                <input type="text" name="result" id="result" readonly>
            </form>
            <div>
                <button onclick="calculate()">计算</button>
            </div>
        </div>
        
    </body>
    function jia(a,b){
        return a+b;
    }
    function jian(a,b){
        return a-b;
    }
    function cheng(a,b){
        return a*b;
    }
    function chu(a,b){
        if(b == 0) return false;
        return a/b;
    }
    
    function typeCheck(str){
        regx = /^\d+$/;
        return regx.test(str);
    }
    
    function check1(){
        var obj =document.getElementById("number1");
        var str1 = obj.value;
        
        if(!typeCheck(str1)){
            alert("请输入数字");
            obj.value="";
        }
        else console.log("number1 is true");
    }
    function check2(){
        var obj =document.getElementById("number2");
        var str2 = obj.value;
        if(!typeCheck(str2)){
            console.log("请输入数字");
            obj.value="";
        }
        else console.log("number2 is true");
    }
    
    
    function calculate(){
        var str1 = document.getElementById("number1").value;
        var number1 =parseInt(str1) ;
        var str2 = document.getElementById("number2").value;
        var number2 =parseInt(str2) ;
        var out = document.getElementById("result");
        var obj = document.getElementById("char");
        var index = obj.selectedIndex; // 选中索引
        var calculation = obj[index].value; // 选中值
        parseInt()
        if(number1 !="" && number2 !=""){
            var result ;
            switch (calculation) {
                case 'jia':
                    result = jia(number1,number2);
                    break;
                case 'jian':
                    result = jian(number1,number2);
                    break;
                case 'cheng':
                    result = cheng(number1,number2);
                    break;
                case 'chu':
                    result = chu(number1,number2);
                    break;
                default:
                    break;
            }
            out.value = result;
    
        }
    }
    
    
    
    结果图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值